Android 使用asynctask时从活动传递控制
我的应用程序中有以下设计Android 使用asynctask时从活动传递控制,android,android-asynctask,android-activity,Android,Android Asynctask,Android Activity,我的应用程序中有以下设计 有一个基本活动,我在其中执行一些常见任务 所有其他活动都扩展了BaseActivity,因此我不需要在所有其他活动中复制常见任务的代码 BaseActivity中定义的一个常见任务是登录操作,其中用户登录到他/她的帐户。由于涉及到一些后端数据库操作,所以在编写这些方法时我使用了AsyncTask 现在我的问题是,在我的子活动中,如果调用BaseActivity的login方法,那么如何将控件传递回我的子活动。我的应用程序中的任何活动都可以调用Login方法,因此每个
- 有一个基本活动,我在其中执行一些常见任务
- 所有其他活动都扩展了BaseActivity,因此我不需要在所有其他活动中复制常见任务的代码
- BaseActivity中定义的一个常见任务是登录操作,其中用户登录到他/她的帐户。由于涉及到一些后端数据库操作,所以在编写这些方法时我使用了AsyncTask
非常感谢您的任何建议/帮助BaseActivity类中有两个方法,分别是performLogin()和postLogin(),如下所示:
public void performLogin()
{
// custom code
LoginTask task = new LoginTask(this); // pass reference of the activity to Asyntask
// execute task
}
其中的LoginTask有一个接受BaseActivity类型参数的构造函数。让您的AsyncTask(上例中的LoginTask)调用activity.postLogin()方法。您可以根据子活动的需要重写此方法。请参阅底部部分,内容是关于在
异步任务
完成时使用接口
发送回调。在需要它的活动中实施这一点非常好的建议。效果很好。谢谢投票通过并接受了答案。很高兴知道这有帮助:)