[問題] 在Android用Timer去執行Button的Click

看板java作者 (大褲)時間16年前 (2009/10/05 16:29), 編輯推噓2(207)
留言9則, 2人參與, 最新討論串1/1
爬過文發現也是有過這樣的問題,只是不是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)

10/05 16:38, , 1F
你把 DoSomething 抽成 method,然後 run() 呼叫就好啦
10/05 16:38, 1F
※ 編輯: Dacool 來自: 203.77.46.191 (10/05 16:43)

10/05 16:41, , 2F
當然,你要研究 fire event 的方法當然是比較厲害一點
10/05 16:41, 2F

10/05 16:41, , 3F
ㄜ... 我不確定 Andriod 是不是這個詞,不過應該差不多
10/05 16:41, 3F

10/05 16:49, , 4F
你要解釋一下什麼叫做「跳出去」 =="
10/05 16:49, 4F
※ 編輯: 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)

10/05 17:12, , 5F
==.==== 你也講一下你 Button觸發的地方怎麼寫的吧?
10/05 17:12, 5F

10/05 17:13, , 6F
說不定兩邊執行的內容根本不一樣... [攤手]
10/05 17:13, 6F

10/05 23:36, , 7F
是一模一樣的,因為寫出來又是一大段程式要解釋所以就沒貼
10/05 23:36, 7F

10/05 23:37, , 8F
但已經找到方法解決了,原來是Timer不會去更新UI。
10/05 23:37, 8F

10/05 23:39, , 9F
謝謝你的回應
10/05 23:39, 9F
文章代碼(AID): #1AoQvwbF (java)