我有两项活动。第一个执行第二个。
Intent i = new Intent(MyOne.this, MyTwo.class);
startActivity(i);
问题:我的第二个活动在启动时做了一些繁重的工作,所以它启动了几秒钟,在启动之前,我看到一个黑屏。
是否可以设置进度条或某些图像而不是此黑屏?因为我不认为用户会等待什么,他不知道。我在第二个活动中尝试在 setcontentview 之后设置进度条,但只有在活动完全启动时才显示进度条。
答案 0 :(得分:4)
我建议您使用AsyncTask异步执行此操作。
简短的例子:
ProgressDialog dialog;
class YourTask extends AsyncTask<Void, Void, Void> {
protected void onPreExecute() {
dialog = ProgressDialog.show(...);
}
protected Void doInBackground(Void... unused) {
try {
// doSomethingHeavy();
// publishProgress(...);
} catch(Exception e) {
//...
}
return null;
}
protected void onProgressUpdate(Void... unused) {
}
protected void onPostExecute(Void unused) {
dialog.dismiss();
}
}
答案 1 :(得分:1)
你确定可以。查看AsyncTask和this tutorial获取灵感。