我有一个非常非常困惑的方法。我想从处理程序返回ints
。我的代码是这样的:
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(
) 方法完全没用,因为它可以简化为仅 return i;
,除了返回参数之外什么也不做。
关于java - 从处理程序返回整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11778247/