看板 AndroidDev 關於我們 聯絡資訊
各位大大好,小弟最近剛接觸Andorid 目前程式需要兩個功能,爬了一些文章可是還是沒看懂要如何應用 希望大大可以提供一些意見 1.想用下拉式選單提供秒數,讓旁邊的幻燈片可以按照選擇的秒數變化 2.要在打開程式後,TextView持續更新文字 爬文有看到很多方法,但好像幾乎都是按下按鈕後才能變化 以下是目前的程式碼,可是打開一秒後,app就會閃退 public class test extends AppCompatActivity { private static final int msgKey1 = 1; String random_text; private TextView t1; private Handler mHandler = new Handler() { public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case msgKey1: t1.setText(testRandom2()); break; default: break; } } }; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); TextView t1 = findViewById(R.id.t1); new TimerThread().start(); } private String testRandom2() { Random random = new Random(); String test1 = String.valueOf(random.nextInt(999) % (999 - 100 + 1) + 100); return test1; } public class TimerThread extends Thread { public void run() { do { try { Thread.sleep(1000); Message msg = new Message(); msg.what = msgKey1; mHandler.sendMessage(msg); } catch (InterruptedException e) { e.printStackTrace(); } } while (true); } } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.121.100.179 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1539417636.A.18D.html ※ 編輯: haley80208 (122.121.100.179), 10/13/2018 16:05:01
kobe8112: 建議要最先學習看Logcat,找出是哪裡造成程式錯誤的 10/13 16:14
zcbxvsdf: t1宣告兩次,mainThread才能刷新UI 10/13 17:44
謝謝兩位大大提醒,我再去研究意思
zcbxvsdf: 閃退資訊Logcat都有寫,先學會看吧 10/13 17:45
※ 編輯: haley80208 (42.77.21.50), 10/13/2018 18:04:24
aids61517: 閃退應該是NPE造成的,在onCreate裡宣告的導致外面的 10/13 20:22
aids61517: t1仍然是null,之後你setText就會NPE 10/13 20:23
y3k: 你不應該再onCreate()裡面再宣告一個t1 這樣跟外面的t1會是 10/13 20:39
y3k: 不同一個 這種基礎要趕快補起來喔@@ 10/13 20:40
haley80208: 謝謝各位的幫忙,目前第二個問題已經解決。有沒有大大 10/13 20:56
haley80208: 能幫忙第一個的問題,謝謝 10/13 20:56
erty0402: spinner sample看看應該就可以了吧 10/14 00:37