close

這次想要嘗試用兩個按鈕,個別是執行續的啟動與執行續的停止

在程式碼的世界中,Handler就是一個人,而這個人會執行Runnable這件事

所以我們必須創造一個人,這個人是個物件

也必須創造一件事,這件事情也是用一個物件去描述

至於為甚麼都是物件呢?(誰叫java就是以物件為核心的語法

 

如果想讓Hnadler變成萬能的人(?)

就是Handler可以看到任何button的監聽

那麼就必須把Handler先在全域裡指定型別與名稱,之後在onCreate裡面new Handler()

 

要命令Handler做事就要用.pose(),如果要停止就用.removeCallbacks(),如下

    handler.post(runnable);
    handler.removeCallbacks(runnable);

 

整個程式

public class YourApplicationsName extends AppCompatActivity {
    Handler handler;

    @Override
    protected void onPause() {
        super.onPause();
        //Stop thread when you leave this app
        handler.removeCallbacks(runnable);
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_your_applications_name);
        handler = new Handler();
    }

    final Runnable runnable = new Runnable() {
        @Override
        public void run() {
            //加入想要執行的事情
            //例如加入一個int time,每n秒 time++; 就可以完成一個計時器囉~
            // .........................
            // .........................
            handler.postDelayed(this, 1000);
        }
    };

    public void scan_start(View view) {
        handler.post(runnable);
    }

    public void scan_stop(View view) {
        handler.removeCallbacks(runnable);
    }
}

 

 

 

 

 

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 魚大 的頭像
    魚大

    魚大-程式筆記

    魚大 發表在 痞客邦 留言(1) 人氣()