2012-12-10 76 views
0

我想开始一个ProgressDialogonPreExecute()的调用,但它无法正常工作。的Android的AsyncTask不叫

Homeactivity.java

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    //switch condtion... 
    case R.id.buttontime :     
     new FlightListTask().execute(""); 
     break: 

} 

public class FlightListTask extends AsyncTask<String,ArrayList<HashMap<String, String>>, ArrayList<HashMap<String, String>>> { 

    protected String onPreExecute(String temp) { 
     progresdialoglistview=ProgressDialog.show(HomeActivity.this, "", "Loading"); 
     Log.e("onPreExecutive","called"+progresdialoglistview); 
     return temp; 
    } 

    @Override 
    protected ArrayList<HashMap<String, String>> doInBackground(String... params) { 
     return flightlist; 
    } 

    protected void onPostExecute(ArrayList<HashMap<String, String>> flightList) { 
     // listview code.... 
    } 

} 

回答

6

Chnge你onPreExecute方法:

@Override 
    protected void onPreExecute() 
    { 
     progresdialoglistview=ProgressDialog.show(HomeActivity.this, "","Loading"); 
     Log.e("onPreExecutive","called"+progresdialoglistview); 

    } 

onPreExecute()方法不带任何参数,并且具有void返回类型。所以也删除onPreExecute返回

4

你没有overridedonPreExecute超载代替。

onPreExecute不接受任何参数,不返回任何东西。使用这个来代替:

protected void onPreExecute()