当前位置: 代码迷 >> Android >> 【新手学习】activity跳转后 run()遗留有关问题
  详细解决方案

【新手学习】activity跳转后 run()遗留有关问题

热度:69   发布时间:2016-04-28 08:10:57.0
【新手学习】activity跳转后 run()遗留问题
private Runnable updateThread = new Runnable() {
int i = 0;

@Override
public void run() {
Log.d(TAG, "Begin Thread ->" + i);
i = i + 10;
// 得到一个消息对象,Message类是由Android操作系统提供
Message msg = updateBarHandler.obtainMessage();
// 将message对象的arg1参数的值设置为i
// 用arg1和arg2两个成员变量传递消息,系统性能消耗少
msg.arg1 = i;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();// 在命令行打印异常信息在程序中出错的位置及原因
}
// 将message对象加入到消息队列中
updateBarHandler.sendMessage(msg);
if (i == 100) {
// 如果当i的值为100时,将线程对象从handler中移除
Log.d(TAG, "removeCallbacks updateThread");
updateBarHandler.removeCallbacks(updateThread);
// 返回主界面
Intent i = new Intent(PBarDisplay.this, MainActivity.class);
PBarDisplay.this.startActivity(i);
PBarDisplay.this.finish();
}
}
};


学习handler功能  写了个进度条  进度条关闭后 做了
PBarDisplay.this.startActivity(i);
PBarDisplay.this.finish();
跳转到初始activity并关闭当前activity  但是后台打印Log.d(TAG, "Begin Thread ->" + i);
一直有  是什么原因呢
android 线程

------解决方案--------------------
if(i == 100)
{
  ....
}else
{
   updateBarHandler.sendMessage(msg); 
}
  相关解决方案