Abh*_*man 3 android android-asynctask android-activity
在我的应用程序中,我有3个活动:
1. Login
2. AsyncTask (不同类)
3. Welcome
收到所有信息后,Login Activity它移动到AsyncTask Activity.当在AsyncTask完成其移动到Welcome Activity.我想Login Activity在AsyncTask Activity完成工作后立即关闭..
我尝试使用下面的代码onPostExecite()的AsyncTask:
Login.this.finish();
但我得到一个错误:No enclosing instance of the type of Login is accessible in scope..
请告诉我如何Login Activity在完成我的工作后关闭我的AsyncTask..
提前致谢...
由于AsyncTaskActivity位于与LoginActivity不同的文件中,因此您无法通过以下方式完成LoginActivity:
Login.this.finish();
相反,您应该将活动参考作为参数传递给AsyncTaskActivity类,就像您可以定义以下构造函数一样:
private class AsyncTaskActivity extends AsyncTask<String, Void, String> {
Activity mActivity;
public AsyncTaskActivity(Activity activity)
{
super();
this.mActivity=activity;
}
}
Run Code Online (Sandbox Code Playgroud)
并且每当您想要完成活动呼叫
this.mActivity.finish();
Run Code Online (Sandbox Code Playgroud)
在LoginActivity中创建AsyncTaskActivity的对象
AsyncTaskActivity asynTask = new AsyncTaskActivity(LoginActivity.this);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5220 次 |
| 最近记录: |