[Android] 如何使用Handler

Posted in :

我下載到一個Android 範例,他在 Fragment 裡 override handleMessage 去取得 runnable 事件。

他的 Fragment:

public class MainFragment extends Fragment implements View.OnClickListener, Handler.Callback {

他的 override:

@Override
public boolean handleMessage(Message msg) {

 

但是我的code 寫到 activity 裡,無法 implement 和  override, 立馬學習如何使用 handler:

如何使用Handler
http://givemepass.blogspot.tw/2015/10/thread-2_14.html

Handler
https://developer.android.com/reference/android/os/Handler.html

Android筆記_Thread傳Message到Handler
http://wangshifuola.blogspot.tw/2011/06/androidthreadmessagehandler.html


Sample:

//又或者另外一種寫法
private Handler mHandler = new Handler(){
 @Override
 public void handleMessage(Message msg) {
 switch(msg.what){
 case 1:
 //處理少量資訊或UI
 break;
 }
 }
};

new Thread(new Runnable(){
 public void run(){
 Message msg = new Message();
 msg.what = 1;
 mHandler.sendMessage(msg);
 }
});


拿 Main Thread 的 Handler 來處理比較少量資料。

new Handler(mContext.getMainLooper()).post(new Runnable(){
   public void run(){
       //處理少量資訊或UI
   }
});

使用 Delay 的方法來延後 Thread 處理。

new Handler().postDelayed(new Runnable(){
   public void run(){
       //處理少量資訊或UI
   }
}, 3000);

上面是在3秒後處理少量資訊。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *