android 子线程不用handler 控制UI线程中的组件

来源:互联网 发布:mac复制粘贴快捷键 编辑:程序博客网 时间:2024/06/07 02:42

子线程控制主线程中的组件使用handler 比较好,但有时也可以用下面的方法来实现同样的效果:

此处是demo

public class MainActivity extends Activity {


private ImageView IV;
private Button addBtn;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
IV = (ImageView) findViewById(R.id.iv);
addBtn = (Button) findViewById(R.id.btnaddpic);
addBtn.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View v) {


new Thread(new Runnable() {


@Override
public void run() {


// 关键就是使用View.post(Runnable)方法;
IV.post(new Runnable() {


@Override
public void run() {
IV.setBackgroundColor(Color.RED);


}
});


}
}).start();


}
});


}


还有最好使用异步任务类:AsyncTask,这种方法也比较好

0 0
原创粉丝点击