为什么某些ui更新可以在特殊条件下运行Non_UI线程? 例如:
Textview textView;
public void onCreate(Bundle savedInstanceState) {
textView = (TextView) findViewById(R.id.my_text);
new Thread() {
textView.setText("i can change the textview's text");
}.start();
}
当android检查ui动作是否在UI线程上运行时,我很困惑?一段时间后?
答案 0 :(得分:0)
记住可以更改UI的唯一线程是UIThread,
所以,如果你想从另一个线程更改你的UI,你可以像这样使用方法runOnUIThread()
:
YourAcitivity.this.runOnUIThread(new Runnable(){
@Override
public void run(){
textView.setText("i can change the textview's text");
}
});
第二点::在你的帖子中,有没有方法run()
答案 1 :(得分:0)
您实际上并未在另一个帖子中设置文本。在新线程中运行的代码采用run
方法,您应该实现该方法。这是正确的语法:
new Thread() {
public void run(){
textView.setText("i can change the textview's text");
}
}.start();