Java 从处理程序返回int
我有一个非常非常混乱的方法。我想从处理程序返回Java 从处理程序返回int,java,Java,我有一个非常非常混乱的方法。我想从处理程序返回int。我的代码如下: public void getCasesFromFolder() { msg = handler.obtainMessage(); timer.schedule(new TimerTask(){ public void run(){ if(folder.list().length == 0) { msg.obj = "0
int
。我的代码如下:
public void getCasesFromFolder() {
msg = handler.obtainMessage();
timer.schedule(new TimerTask(){
public void run(){
if(folder.list().length == 0) {
msg.obj = "0";
handler.sendMessage(msg);
}
else {
msg.obj = Integer.toString(folder.list().length) ;
handler.sendMessage(msg);
}
}
}, delay, 3000);
}
private Handler handler = new Handler() {
@SuppressWarnings("unchecked")
@Override
public void handleMessage(Message m) {
String message = (String) m.obj;
if(message.equals("0")) {
returnValues(0);
}
else {
returnValues(Integer.parseInt(message));
}
}
public int returnValues(int i) {
if(i == 0)
return 0;
else
return i;
}
};
这当然不行。如何从处理程序返回int 在类中创建一个
int
属性,并让处理程序在handleMessage()
方法中设置其值,而不是返回它
顺便说一下,您的
returnValues(
)方法完全没有用处,因为它可以简化为returni
只返回参数。在类中创建一个int
属性,让处理程序在handleMessage()
方法中设置其值,而不是返回它
顺便说一下,您的
returnValues(
)方法完全没有用处,因为它可以简化为returni
只返回参数。它不起作用,因为void
无法返回任何内容。此功能还包括:
public int returnValues(int i) {
if(i == 0)
return 0;
else
return i;
}
什么都不做。此外,您没有以任何方式操纵对象。您正在调用一个函数
returnValues
,该函数不对处理程序
对象的任何属性执行变异(或设置操作)。这意味着当调用returnValues
时,您只是在丢弃结果,因为它将超出范围。它不起作用,因为void
无法返回任何内容。此功能还包括:
public int returnValues(int i) {
if(i == 0)
return 0;
else
return i;
}
什么都不做。此外,您没有以任何方式操纵对象。您正在调用一个函数
returnValues
,该函数不对处理程序
对象的任何属性执行变异(或设置操作)。这意味着当调用returnValues
时,您只是在丢弃结果,因为它将不在范围内。如果您分享更多关于您尝试完成的内容的背景信息,可能会有所帮助。如果您分享更多关于您尝试完成的内容的背景信息,可能会有所帮助。+1对于尝试实际建议解决方法,而不是直截了当地说这不可能。+1表示尝试实际建议解决方案,而不是直截了当地说这不可能。处理程序是他实现的接口,签名方法很可能不会更改。显然,他想要的是一种在方法执行后从当前类访问int的方法,这是他用这个解决方案无法做到的。@KayKay我的回答中有什么是不正确的?虚空不会返回任何东西,他的腋窝功能也不会返回任何东西。我明确地说OP需要一个变异子。事实上,我的答案和你的几乎一样,所以我看不出你的抱怨。我从来没有说过这是错误的。我只是说它不能解决问题。@KayKay我关于如何解决问题的解释缺少了什么部分<代码>您调用的函数returnValues不会对处理程序的任何属性执行变异(或设置操作)在那里列出需要执行的操作。问题是从处理程序方法外部访问该值。你说的都没用。returnValues方法与他的问题无关,尽管它是一个无用的方法。处理程序是他实现的接口,签名方法很可能不会被更改。显然,他想要的是一种在方法执行后从当前类访问int的方法,这是他用这个解决方案无法做到的。@KayKay我的回答中有什么是不正确的?虚空不会返回任何东西,他的腋窝功能也不会返回任何东西。我明确地说OP需要一个变异子。事实上,我的答案和你的几乎一样,所以我看不出你的抱怨。我从来没有说过这是错误的。我只是说它不能解决问题。@KayKay我关于如何解决问题的解释缺少了什么部分<代码>您调用的函数returnValues不会对处理程序的任何属性执行变异(或设置操作)在那里列出需要执行的操作。问题是从处理程序方法外部访问该值。你说的都没用。returnValues方法与他的问题无关,尽管它是一个无用的方法。