当我从第一个活动类跳过第二个活动类时,我将在第二个活动中开始对某个图像进行图像处理,然后直到新图像进入屏幕我才开始进度条,然后在新图像到达屏幕时结束.我怎样才能做到这一点 ?
解决方法:
使用ProgreaaDialog和AsyncTask.你会得到你的灵魂
在doBackInGroundProcess中使用AsyncTask进行图像处理.并在doPostExecute()中退出或取消进度对话框
看看示例代码.
要启动AsyncTsk,请使用新的ProgressTask().execute(null);从您想要进行图像处理的活动.
private class ProgressTask extends AsyncTask {
private ProgressDialog dialog;
List titles;
private ListActivity activity;
//private List messages;
public ProgressTask(ListActivity activity) {
this.activity = activity;
context = activity;
dialog = new ProgressDialog(context);
}
/** progress dialog to show user that the backup is processing. */
/** application context. */
private Context context;
protected void onPreExecute() {
this.dialog.setMessage("Progress start");
this.dialog.show();
}
@Override
protected void onPostExecute(final Boolean success) {
List titles = new ArrayList(messages.size());
for (Message msg : messages){
titles.add(msg);
}
MessageListAdapter adapter = new MessageListAdapter(activity, titles);
activity.setListAdapter(adapter);
adapter.notifyDataSetChanged();
if (dialog.isShowing()) {
dialog.dismiss();
}
if (success) {
Toast.makeText(context, "OK", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(context, "Error", Toast.LENGTH_LONG).show();
}
}
protected Boolean doInBackground(final String... args) {
try{
BaseFeedParser parser = new BaseFeedParser();
messages = parser.parse();
return true;
} catch (Exception e){
Log.e("tag", "error", e);
return false;
}
}
}
}
标签:android,android-layout,android-widget,progress-bar
来源: https://codeday.me/bug/20191007/1867473.html