如何从Android的AsyncTask的活动结束 [英] How to finish Activity from AsyncTask Android

查看:229
本文介绍了如何从Android的AsyncTask的活动结束的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的应用我有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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆