如何从Android的AsyncTask的活动结束 [英] How to finish Activity from AsyncTask Android
问题描述
在我的应用我有3个活动:
In my Application I have 3 Activities:
1。登录
2。 AsyncTask的
(不同类)
3。欢迎
在登录活动收到全部资料后
将其移动到 AsyncTask的活动
。当在的AsyncTask
完成它移动到欢迎活动
。我想关闭登录活动
尽快 AsyncTask的活动
完成了工作。
After receiving all the information in the Login Activity
it moves to the AsyncTask Activity
. When the the AsyncTask
is completed it moves to the Welcome Activity
. I want to close the Login Activity
as soon as the AsyncTask Activity
completes its job..
我尝试使用下面的code在 onPostExecite()
的AsyncTask
的:
I am trying to use the following code in the onPostExecite()
of AsyncTask
:
Login.this.finish();
但我得到的错误:登录的类型没有外围实例是在范围访问
..
But I am getting an error of: No enclosing instance of the type of Login is accessible in scope
..
请告诉我如何可以关闭我的登录活动
完成后,我的的AsyncTask
..
Please tell me how can i close my Login Activity
after completing my AsyncTask
..
先谢谢了...
推荐答案
由于AsyncTaskActivity是比LoginActivity单独的文件中,您可以通过完成斜面LoginActivity:
As AsyncTaskActivity is in separate file than LoginActivity, you cant finish LoginActivity by:
Login.this.finish();
Login.this.finish();
相反,你应该传递活动作为参照中的参数AsyncTaskActivity类,就像你可以定义下面的构造:
Instead you should pass the Activity Reference as parameter in the AsyncTaskActivity Class, like you can define following constructor:
private class AsyncTaskActivity extends AsyncTask<String, Void, String> {
Activity mActivity;
public AsyncTaskActivity(Activity activity)
{
super();
this.mActivity=activity;
}
}
,只要你想完成的活动通话
and whenever you want to finish the activity call
this.mActivity.finish();
按
AsyncTaskActivity asynTask = new AsyncTaskActivity(LoginActivity.this);
这篇关于如何从Android的AsyncTask的活动结束的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!