问题描述
|
我有两个活动。第一个执行第二个。
Intent i = new Intent(MyOne.this,MyTwo.class);
startActivity(i);
问题:我的第二项活动在启动时做了大量工作,因此它启动了几秒钟,在启动之前,我看到黑屏。
有什么方法可以设置进度条或某些图像而不是此黑屏?因为我不认为用户会等待某事,所以他不知道。我尝试在第二个活动中的setcontentview之后设置进度条,但仅在活动完全开始时才显示进度条。
解决方法
我建议您使用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();
}
}
, 你当然可以。查看AsyncTask和本教程以获取灵感。