我一直在开发一个应用程序,AsyncTask
当它在内部类中时,我设法让它正常工作。
现在,我正在重构代码,以便它AsyncTask
位于一个单独的类中,但我想知道,ProgressDialog
一旦任务成功完成,我如何杀死并启动一个新的 Activity?我已经尝试在该onPostExecute(..)
方法中启动一个新的 Activity,但我知道这行不通。
在 AsyncTask 的构造函数中将我的 UI 线程活动作为参数传递似乎不起作用:
//In UI Thread I had
public class Test101 extends Activity {
private Button btnLogin;
private LoginTask mLoginTask;
private Context context=this;
private Test101 mTest101;
mLoginTask=new LoginTask(context,mTest101);
mLoginTask.execute(null);
// In the AsyncTask I had
Activity mParentActivity;
public LoginTask(Context context,Activity act){
this.ctx=context;
this.mParentActivity=act;
}
onPostExecute(..){
mParentActivity.callSomeMethod();
}
...
}
我一直得到一个NullPointerException
,也许我错过了一些东西,但这对我不起作用。