java是否可以将事件从线程发送到活动?
如果我想从线程向活动发送事件(例如OnClick)?谢谢
预期的工作流程如下:
public class HelloAndroid extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Crate threadA
Start threadA
}
public void OnSomeEvent() {
do something that changes the views in this activity;
}
private class ThreadA extends Thread {
public void run() {
do something ...
Send Some Event to Activity HelloAndroid.
}
}
# 1 楼答案
如果我理解正确,您希望从内部
ThreadA
类调用HelloAndroid
的方法OnSomeEvent()
,对吗如果是这种情况,您可以纠正:
或者更简单,直接调用
OnSomeEvent()
方法# 2 楼答案
所有与UI相关的事件都必须从UI线程执行。 http://developer.android.com/guide/appendix/faq/commontasks.html#threading
# 3 楼答案
您必须使用处理程序来更新UI
# 4 楼答案
您始终可以从线程向活动发送消息,如下所示:
您还可以创建包含一些值的消息