我正在尝试将此代码放在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";
答案 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() {
...
}