子線程控制主線程中的組件使用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,這種方法也比較好