[問題] imageView圖片變換問題

看板AndroidDev作者 (HelloKiKi)時間6年前 (2018/05/24 11:26), 6年前編輯推噓4(404)
留言8則, 4人參與, 6年前最新討論串1/1
想請問... 我有三個imageView(以下用iV1、2、3代替) 然後有A B兩張圖片,三個imageView預設都是A圖 我需要依序將圖片換成B圖,但是到下一個iV的時候前一個iV要換回A圖 流程大概是這樣 iV1=B iV2=A iV3 =A -> iV1=A iV2=B iV3=A ->iV1=A iV2=A iV3=B 設定步數決定最後一定會有一張圖是B圖。 但是我實作後畫面的顯示不會有中間的變換 直到程式停止後才會顯示最後的結果 i為步數、nowpos是定位用 try{ int[] iVid = {R.id.iv1,R.id.iv2,R.id.iv3} for(int i = 0 ; i<10;i++){ if(i > 3){nowpos = i%3-1;}else{nowpos=i;} switch (iVid[nowpos]) { case R.id.vI1: vI3.setImageResource(A圖); vI1.setImageResource(B圖); break; case R.id.vI2: vI1.setImageResource(A圖); vI2.setImageResource(B圖); break; case R.id.vI3: vI2.setImageResource(A圖); vI3.setImageResource(B圖); break; } Thread.sleep(1000); }}catch (InterruptedException e){e.printStackTrace();} 程式大概是這樣 , 請問各位先進 可以指導一下小弟嗎 謝謝Q_Q -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.119.49 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1527132377.A.F0B.html ※ 編輯: yukihello (125.227.119.49), 05/24/2018 11:32:36

05/24 11:59, 6年前 , 1F
話說你switch怎麼少一個break?
05/24 11:59, 1F
哈哈哈 原本有8個拉 我要節省所以砍掉好幾個 不小心誤砍XD

05/24 12:19, 6年前 , 2F
sleep不好吧,用sendmessagedelayed試試
05/24 12:19, 2F
好哦 我研究看看!!! ※ 編輯: yukihello (125.227.119.49), 05/24/2018 12:23:22

05/24 12:34, 6年前 , 3F
UI相關要在mainthread喔
05/24 12:34, 3F

05/24 12:49, 6年前 , 4F
switch (imgview的id) id的變換寫在哪裡呢?
05/24 12:49, 4F

05/24 12:50, 6年前 , 5F
另外如樓上說的 UI的設置要寫在MainThread中
05/24 12:50, 5F
我存在一個array裡,沒複製到 現在補上了QAQ 有點不懂t大第二點的意思 ※ 編輯: yukihello (125.227.119.49), 05/24/2018 13:17:25

05/24 13:39, 6年前 , 6F
就你的程式碼看起來 通常用Thread.sleep不會用在
05/24 13:39, 6F

05/24 13:40, 6年前 , 7F
MainThread, 所以如果在非MainThread裡做UI相關
05/24 13:40, 7F

05/24 13:40, 6年前 , 8F
會有錯誤
05/24 13:40, 8F
解決了....對不起我就只是懶得寫執行緒而已 嗚嗚 TimerTask 跟 handler解決惹 謝謝各位大大QAQ ※ 編輯: yukihello (125.227.119.49), 05/24/2018 13:52:11
文章代碼(AID): #1R1Z3PyB (AndroidDev)