android 子線程不用handler 控制UI線程中的組件

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章