1. 程式人生 > >Android線程間通訊的幾種方式

Android線程間通訊的幾種方式

not asynctask gen andro ttext eth pub nbsp delayed

1.runOnUiThread(Runnable) 在子線程中直接使用該方法,可以更新UI

runOnUiThread(new Runnable(){//更新UI
@Override
public void run() {
publish_time.setText("更新失敗");
}

});

2.View.postDelay(Runnable , long)/new Handler().postDelayed(Runnable)

在需要更新UI的地方調用該方法,Runnable對象的方法裏,直接操作UI;long是指延遲多少秒

//延遲一秒鐘出現
new Handler().postDelayed(new Runnable() {

@Override
public void run() {
// TODO Auto-generated method stub
notify_view_text.setText(String.format(getString(R.string.ss_pattern_update), 10));

notify_view.setVisibility(View.VISIBLE);
//延遲兩秒鐘消失
new Handler().postDelayed(new Runnable() {

@Override
public void run() {
// TODO Auto-generated method stub
notify_view.setVisibility(View.GONE);
}
}, 2000);
}
}, 1000);

3.使用Handler

4.使用AsyncTask

Android線程間通訊的幾種方式