我正在尝试处理一些数据库操作,之后想要启动一个新活动。同时,我想要显示进度条。
我在下面编写的代码在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();
答案 0 :(得分:1)
使用处理程序
从主线程开始新活动Handler handler = new Handler(Looper.getMainLooper());
答案 1 :(得分:1)
试试这段代码: -
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);