正文  软件开发 > 编程综合 >

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

子线程控制主线程中的组件使用handler 比较好,但有时也可以用下面的方法来实现同样的效果:此处是demopublic class MainActivity extends Activi...

子线程控制主线程中的组件使用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,这种方法也比较好