Я пытаюсь добавить это на метод OnStart
Я пытаюсь поместить этот код в onStart
метод. Я попробовал несколько вещей, но не могу найти способ... если я положу его на onStart
Метод ошибки:
не может вернуть значение из метода с пустым типом результата
Я пытался изменить его на int, есть идеи?
Я пытался сделать public int onStart...
метод, но не получилось очень хорошо
Примечание: я новичок в Android, это может показаться вам очевидным ответом, но, к сожалению, не для меня.
заранее спасибо!!
public String getGiphyViews() {
String id_image = "qi6Yrko";
String source = "";
try {
URL url = new URL("http://imgur.com/" + id_image);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.connect();
InputStream in = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
StringBuilder str = new StringBuilder();
String line;
while((line = reader.readLine()) != null) {
if (line.contains("views")) {
str.append(line);
}
}
in.close();
source = str.toString();
} catch (IOException e) {
e.printStackTrace();
}
String views = source.split("<span class=\"views-" + id_image + "\">")[1].split("<")[0];
TextView t = (TextView) findViewById(R.id.views);
assert t != null;
t.setText(views);
return views;
}
2 ответа
Вы не можете изменить onStart
метод, возвращающий тип из void в int. Этот метод является частью жизненного цикла любого Android Activity
, Реализуя этот метод, вы в основном override
родительский метод. И когда вы переопределяете метод, вы всегда обязаны сохранять один и тот же тип возвращаемого значения, имя метода и аргументы. Обойти это невозможно. Так что было бы полезно, если бы вы объяснили, почему вы хотите, чтобы это возвращало что-нибудь? Я бы посоветовал, если вам нужна какая-то ценность из Activity
, что вы сохраняете значение внутри Activity
а затем передать значение с помощью метода получения.
Для дальнейшего объяснения, пожалуйста, проверьте документацию по Android.
Вы не можете определить метод внутри метода. Поместите этот код вне onStart() и вызовите этот метод внутри onStart следующим образом:
String myView;
protected void onStart (){
myView = getGiphyViews();
}
public String getGiphyViews() {
...
}