0

我有两个活动,比如说LoginActivity其中包含登录 UI 和HomeActivity. 在 上HomeActivity,我放置了一个调用以下方法的按钮:

public void goToLoginPage(View view) {
    finish();
    super.finish();     
    Intent i = new Intent(HomePageActivity.this, LoginActivity.class);
    startActivity(i);
}

但是当我单击此按钮时,带有最后输入凭据的登录页面会再次出现。相反,我想要一个新的登录页面,或者至少没有最后输入的凭据。

4

5 回答 5

0

在您想要打开下一个活动时成功登录,然后完成()登录活动。通过这样做,下次如果您开始使用意图登录,它将打开一个新的登录页面

于 2012-07-05T11:29:43.987 回答
0

在启动 HomeActivity 时调用 LoginActivity 中的 finish() 方法,这将使 LoginActivity 被销毁。当您调用 startActivity 启动 LoginActivity 时,LoginActivity 将实例化一个新的。

我是android开发的新手,希望对你有帮助。

于 2012-07-05T11:30:40.683 回答
0

试试下面的代码。

Intent i = new Intent(HomePageActivity.this, LoginActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();
于 2012-07-05T11:30:58.837 回答
0

在 LoginActivity 的 OnPause() 中编写以下代码

protected void onPause()
{
super.onPause();
username.settext("");
password.settext("");
}
于 2012-07-05T11:32:11.230 回答
0

根据您的信息,LoginActivty 是启动活动,该活动在成功登录后启动 HomePageActivity。要返回 LoginActivity,您可以执行以下操作:

Intent i = new Intent(HomePageActivity.this, LoginActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();

这只有在 LoginActivity 启动 HomePageActivity 时没有调用自身的 finish() 时才有效(即:LoginActivity 的实例必须仍然存在于活动堆栈中)。此外,LoginActivity 的启动模式必须是默认的(即:根本没有指定)或“标准”。

这将导致 LoginActivity 的当前实例完成,并创建一个新的 LoginActivity 实例并调用 onCreate() 方法。

于 2012-07-05T12:21:47.683 回答