嘿,我在标题中提到了这个错误。
如果正确的命令通过蓝牙发送,我有一个Handler
看起来每100毫秒。如果出现此命令它正在执行某些操作,然后ProgressDialog
应该以{{1}}关闭。关闭对话框后,应使用endBookingPD.dismiss();
删除处理程序
所以当我第一次点击按钮时这对我有用。但是在第二次它给出了我在这一行lookForCommandHandler.removeCallbacks(tCommand);
我搜索了一些已经退出的关于这个主题的问题,但我找不到解决问题的方法。
有人有想法吗?
先谢谢。
这是我的代码:
endBookingPD.show();
日志:
btnEndBooking.setOnClickListener(new OnClickListener() {
endBookingPD=new ProgressDialog(CheckVehicleActivity.this);
endBookingPD.setMessage(ss1);
endBookingPD.show();
endBookingPD.setCancelable(true);
lookForCommandHandler = new Handler(Looper.getMainLooper());
tCommand = new Thread() {
public void run() {
MyApplication app = (MyApplication) getApplicationContext();
if(driveOk != null){
if(driveOk.contains(DRIVE_EXIT_OK)){
// DOING SOME STUFF
exitDrive = true;
if(exitDrive == true){
if(endBookingPD != null){
endBookingPD.dismiss();
}
}
viewFlipper.setDisplayedChild(1);
lookForCommandHandler.removeCallbacks(tCommand);
}
}
if(exitDrive == false){
lookForCommandHandler.postDelayed(this, 100);
}
System.out.println("Look for Msg Handler Running!!!!!");
tCommand.start();
});