我在如何在主要使用progressDialog的AsyncTask上实现“创建加载屏幕”的两难处境。关于用于创建加载屏幕的AsyncTask
我在做什么是我有一个方法,不需要输入,只显示一个textview。
私有类DownloadFilesTask扩展的AsyncTask {
那么,我的方法做简直是像1 + 1 = 2,但在存储,然后得到显示上一个TextView一个giganormous串的更复杂的方式。
所以我的问题是如何在长时间加载之前获得进度对话框的结果?
我在如何在主要使用progressDialog的AsyncTask上实现“创建加载屏幕”的两难处境。关于用于创建加载屏幕的AsyncTask
我在做什么是我有一个方法,不需要输入,只显示一个textview。
私有类DownloadFilesTask扩展的AsyncTask {
那么,我的方法做简直是像1 + 1 = 2,但在存储,然后得到显示上一个TextView一个giganormous串的更复杂的方式。
所以我的问题是如何在长时间加载之前获得进度对话框的结果?
private progressDialog pd;
public void runMethod(){
new doStuuff.execute();
}
private Class doStuff extends AsyncTask<Void, Void, Void>{
@Override
protected Void doInBackground(Void... params) {
//Everything in your code except for anything that is xml or relates with any view. Mostly calculations
return null;
}
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
//Your main background view code ends up falling here
pd.dismiss();
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
//Your optional view and where it starts
pd = ProgressDialog.show(View_Book_As_Whole.this, "Loading", "Please wait...");
}
}
我当时太小气,不理解这个概念,但是一旦你理解它就相对容易。 onPreExecute()意味着它在任何事情之前运行,并且它首先优先,然后转到doInBackground(),然后onPostExecute()它运行最后的任务。这全部在UI的背景中起作用。
Android已经有一个progress dialog class内置。我建议使用它,除非有什么不适合你的需求。
我想要的是能够在活动加载时首先显示进度对话框。然而,它与整个事件加载的实际事件同时显示。 – sdfwer 2012-03-21 13:17:27
如果下面提供的答案没有真正回答你的问题,那么描述是非常不明确的 - 那么你应该重新设计你的问题,也许提供一些代码片段来帮助我们理解你想要达到的目标。 – Egor 2012-03-20 21:43:57