Android应用程序崩溃,从不同的线程开始下一个活动
问题描述:
我想处理一些数据库操作,然后想开始一个新的活动。同时,我想要显示进度条。Android应用程序崩溃,从不同的线程开始下一个活动
下面我写的代码在android studio以及某些设备上工作正常,但在某些设备上,从线程开始新活动时,应用程序正在崩溃。请帮帮我。
在此先感谢。
progress=new ProgressDialog(this);
progress.setMessage("Prepairing relations...");
progress.setProgress(0);
progress.setCancelable(false);
progress.show();
final Thread t1 = new Thread() {
@Override
public void run() {
sql.updateRelations(); // db operations
Intent intent = new Intent(context, MainActivity.class);
progress.dismiss();
startActivity(intent);
finish();
}
};
t1.start();
答
使用处理器从主线程启动新的活动
Handler handler = new Handler(Looper.getMainLooper());
答
试试这个代码: -
progress=new ProgressDialog(this);
progress.setMessage("Prepairing relations...");
progress.setProgress(0);
progress.setCancelable(false);
progress.show();
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
sql.updateRelations(); // db operations
Intent intent = new Intent(NameActivity.this, MainActivity.class);
progress.dismiss();
startActivity(intent);
finish();
}
}, 15000);
哪里是你的logcat? –