我試圖做一個程序,當我按下按鈕時,它會顯示我的arduino汽車的速度和行駛距離。我試圖不斷更新TextView中的距離。Android Studio線程處理程序
這裏是我的處理程序中的onCreate()應當設置我的TextView文本距離的初始化:
mHandler = new Handler() {
public void handleMessage(Message msg) {
Bundle bundle = msg.getData();
String stringss = bundle.getString("myKey");
tv2 = (TextView) findViewById(R.id.zval);
tv2.setText("Distance is : " + stringss);
}
};
這裏是我的線程做背景
btnDist.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Runnable runnable = new Runnable() {
public void run() {
Message msg = mHandler.obtainMessage();
Bundle bundle = new Bundle();
int distance = distanta(); //function that returns distance/secound
int dist = 0;
while(distance > 0) {
try {
Thread.sleep(1000); //1000 milliseconds is one second.
} catch (InterruptedException ex) {
Thread.currentThread().interrupt();
}
dist += distance;
}
String dateString = String.valueOf(dist);
msg(dateString);
bundle.putString("myKey", dateString);
msg.setData(bundle);
mHandler.sendMessage(msg);
}
};
Thread mythread = new Thread(runnable);
mythread.start();
}
});
工作應用程序運行並不會崩潰,但我的textview根本不會更新。 我是新來的Java線程,所以我可能做錯了什麼。謝謝!
這非常有幫助,謝謝你的答案。 –