我有一些与处理程序相关的非常简单的代码:
Handler seconds=new Handler() {
@Override
public void handleMessage(Message msg) {
bar.incrementProgressBy(5);
tView1.setText("r:"+msg);
}
};
以及我的线程:
Thread seconds_thread=new Thread(new Runnable() {
public void run() {
try {
for (int i=0;i<20 && isRunning.get();i++) {
Thread.sleep(1000);
Message m = new Message();
Bundle b = new Bundle();
b.putInt("what", 5); // for example
m.setData(b);
seconds.sendMessage(m);
}
}
catch (Throwable t) {
// just end the background thread
}
}
});
如上所示,我正在尝试更改消息中的“
what
”值,以便根据消息执行不同的操作,但是根据“tView1.setText(“r:”+msg)
”,“what
”的值没有改变为5 :(它只显示“
what=0
”
我该如何更改消息的值,以便根据消息执行不同的操作?
谢谢!
Bundle
的内容,以了解自己的参数。http://developer.android.com/reference/android/os/Bundle.html 这是一个简单的概念(键值对)。 - Nikola Despotoski