私はアプリに取り組んできましたが、AsyncTask
それが内部クラスにあるときにうまく機能するようになりました。
AsyncTask
が独自の別のクラスになるようにコードをリファクタリングしていProgressDialog
ますが、タスクが正常に完了したら、どうすれば を強制終了して新しいアクティビティを開始できるのでしょうか? メソッドで新しいアクティビティを開始しようとしましたが、onPostExecute(..)
うまくいかないことがわかっています。
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
何かを逃しているかもしれませんが、それは私にとってはうまくいきませんでした。