我正在尝试在A onStart方法上添加它

时间:2016-03-31 21:15:30

标签: java android android-studio onstart

我正在尝试将此代码放在onStart方法中。我尝试了几件事,但似乎无法找到方法......如果我把它放在public int onStart...方法上,则错误是:

  

无法从具有void结果类型

的方法返回值

我确实尝试将其更改为int,任何想法?

我尝试使用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; } 方法,但效果不佳

注意:我是Android的新手,这对我来说似乎是一个明显的答案,但遗憾的是我没有。

提前感谢!!

// Store the return of the `open` command in a variable
var newWindow = window.open('example.com','_self');

// Access it using its variable
newWindow.my_special_setting = "Hello World";

2 个答案:

答案 0 :(得分:1)

您无法将onStart方法返回类型从void更改为int。此方法是任何Android Activity生命周期的一部分。通过实现此方法,您基本上override父方法。当您重写方法时,您始终有义务保留相同的返回类型,方法名称和参数。没有其他办法了。所以如果你解释为什么你甚至想要它返回任何东西会有所帮助?如果您需要Activity中的某些值,我建议您将值保存在Activity中,然后使用getter方法传递值。

有关详细说明,请查看Android documentation

答案 1 :(得分:0)

您无法在方法内定义方法。将此代码放在onStart()之外,并在onStart中调用此方法,如下所示:

String myView;

protected void onStart (){
    myView = getGiphyViews();
}

public  String getGiphyViews() {
...
}