我试图做一个程序,当我按下按钮时,它会显示我的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线程,所以我可能做错了什么。谢谢!
这非常有帮助,谢谢你的答案。 –