安卓如下代码:
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
mHeartHandler.postDelayed(mHeartRunnable, 3000);
super.mHandler=new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(final Message msg) {
switch (msg.what) {
case:20
heart_rate=(int)msg.obj;
Log.e(TAG, "处理后心率"+heart_rate);
heartRate.setText(heart_rate);
break;
}
return false;
}
});
}
然后同样在这个活动中:
private Handler mHeartHandler = new Handler();
private Runnable mHeartRunnable = new Runnable() {
public void run() {
.....
heart_rate = SumNCount * 60; //我计算出来想要显示的数值
Message message = new Message();
message.what = 20;
message.obj=heart_rate;
ECGActivity.this.mHandler.sendMessage(message); //ECGAcivity是当前活动
mHeartHandler.postDelayed(mHeartRunnable, 3000);
}
};
这样写有没有问题 我现在heart_rate的值不太正常 求大神.
mHeartRunnable是我新加的一个线程