为什么这不会改变我的 TextView 的文本?我有一个TextView
我尝试从 view.post 方法修改的文本。我在这里做错了什么?
mTextView = (TextView)findViewById(R.id.text_view);
new Thread(new Runnable() {
@Override
public void run() {
mTextView.post(new Runnable(){
@Override
public void run() {
mTextView.setText("A change in text, thank you very much");
}
});
}
}).start();
这在 Activity 的 onCreate() 方法中运行。但是,如果我定义一个处理程序并将 Runnable 传递给处理程序,则 TextView 会被修改。
编辑:我在这里的代码基于示例:
public void onClick(View v) {
new Thread(new Runnable() {
public void run() {
final Bitmap bitmap =
loadImageFromNetwork("http://example.com/image.png");
mImageView.post(new Runnable() {
public void run() {
mImageView.setImageBitmap(bitmap);
}
});
}
}).start();
}
在http://developer.android.com/guide/components/processes-and-threads.html
编辑2:现在我完全糊涂了。当我从附加到 Activity 中的按钮的 onClickListener 运行相同的代码时,TextView 的文本确实被操纵了。为什么在方法中没有发生这种情况onCreate
?