0

我的应用程序中有以下设计

  • 有一个 BaseActivity 我执行一些常见任务
  • 所有其他活动都扩展了 BaseActivity,因此我不需要在所有其他活动中复制常见任务的代码。
  • BaseActivity 中定义的一个常见任务是用户登录到他/她的帐户的登录操作。由于涉及到一些后端数据库操作,因此我在编写这些方法时使用了 AsyncTask。

现在我的问题是,在我的子活动中,如果我调用 BaseActivity 的登录方法,那么我如何将控制权传递回我的子活动。我的应用程序中的任何活动都可以调用登录方法,因此每个活动都需要从 BaseActivity 确认成功登录,以便可以执行这些子活动中的特定任务。

非常感谢任何建议/帮助

4

1 回答 1

1

您可以在 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() 方法。您可以根据孩子活动的需要覆盖此方法。

于 2013-09-06T22:54:48.280 回答