看板 java 關於我們 聯絡資訊
爬過文發現也是有過這樣的問題,只是不是Android的,所以po了一篇文章來發問 舉個問題的例子 Button btn; TimerTask task1; btn.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { /*DoSomething*/ } }); TimerTask task1 = new TimerTask() { public void run() { /*btn的Click*/ } }; 我要如何在task1中去call到btn的Click 也就是把按按鈕的事件以Timer觸發 補充一下,其實是因為該method中有一行程式用Button觸發的方式就可以正常執行 但只要用Timer的方式怎麼樣都會執行到該行程式就跳出去 所以才會想說用Timer去執行Button的觸發事件。 以下是跳出去的範例 TimerTask task1 = new TimerTask() { public void run() { 程式1; Log.i("Test","1"); 程式2; Log.i("Test","2"); } }; 那我在看Log的時候只會印出 1 1 1 1 . . . . 但若用Button觸發的話,是正常的 1 2 1 2 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.77.46.191 ※ 編輯: Dacool 來自: 203.77.46.191 (10/05 16:34)
PsMonkey:你把 DoSomething 抽成 method,然後 run() 呼叫就好啦 10/05 16:38
※ 編輯: Dacool 來自: 203.77.46.191 (10/05 16:43)
PsMonkey:當然,你要研究 fire event 的方法當然是比較厲害一點 10/05 16:41
PsMonkey:ㄜ... 我不確定 Andriod 是不是這個詞,不過應該差不多 10/05 16:41
PsMonkey:你要解釋一下什麼叫做「跳出去」 ==" 10/05 16:49
※ 編輯: Dacool 來自: 203.77.46.191 (10/05 16:55) ※ 編輯: Dacool 來自: 203.77.46.191 (10/05 16:56) ※ 編輯: Dacool 來自: 203.77.46.191 (10/05 16:57)
PsMonkey:==.==== 你也講一下你 Button觸發的地方怎麼寫的吧? 10/05 17:12
PsMonkey:說不定兩邊執行的內容根本不一樣... [攤手] 10/05 17:13
Dacool:是一模一樣的,因為寫出來又是一大段程式要解釋所以就沒貼 10/05 23:36
Dacool:但已經找到方法解決了,原來是Timer不會去更新UI。 10/05 23:37
Dacool:謝謝你的回應 10/05 23:39