作者haley80208 (jjj)
看板AndroidDev
标题[问题] TextView与Spinner问题
时间Sat Oct 13 16:00:34 2018
各位大大好,小弟最近刚接触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://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1539417636.A.18D.html
※ 编辑: haley80208 (122.121.100.179), 10/13/2018 16:05:01
1F:→ kobe8112: 建议要最先学习看Logcat,找出是哪里造成程式错误的 10/13 16:14
2F:→ zcbxvsdf: t1宣告两次,mainThread才能刷新UI 10/13 17:44
谢谢两位大大提醒,我再去研究意思
3F:→ zcbxvsdf: 闪退资讯Logcat都有写,先学会看吧 10/13 17:45
※ 编辑: haley80208 (42.77.21.50), 10/13/2018 18:04:24
4F:推 aids61517: 闪退应该是NPE造成的,在onCreate里宣告的导致外面的 10/13 20:22
5F:→ aids61517: t1仍然是null,之後你setText就会NPE 10/13 20:23
6F:→ y3k: 你不应该再onCreate()里面再宣告一个t1 这样跟外面的t1会是 10/13 20:39
7F:→ y3k: 不同一个 这种基础要赶快补起来喔@@ 10/13 20:40
8F:→ haley80208: 谢谢各位的帮忙,目前第二个问题已经解决。有没有大大 10/13 20:56
9F:→ haley80208: 能帮忙第一个的问题,谢谢 10/13 20:56
10F:→ erty0402: spinner sample看看应该就可以了吧 10/14 00:37