我有两个活动,比如LoginActivity
,其中包含登录用户界面和HomeActivity
。在HomeActivity
上,我放了一个调用以下方法的按钮:
public void goToLoginPage(View view) {
finish();
super.finish();
Intent i = new Intent(HomePageActivity.this, LoginActivity.class);
startActivity(i);
}
但是当我单击此按钮时,将再次显示包含最后输入凭据的登录页面。相反,我想要一个新的登录页面或至少没有最后输入的凭据。
答案 0 :(得分:0)
在您想要打开下一个活动时成功登录,然后完成()登录活动。通过这样做,下次如果您使用intent开始登录,它将打开一个新的登录页面
答案 1 :(得分:0)
启动HomeActivity时在LoginActivity中调用finish()方法,这将导致LoginActivity被破坏。当您调用startActivity来启动LoginActivity时,LoginActivity将实例化一个新的。
我是android开发的新手,希望能帮到你。
答案 2 :(得分:0)
尝试以下代码。
Intent i = new Intent(HomePageActivity.this, LoginActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();
答案 3 :(得分:0)
在LoginActivity的OnPause()中编写以下代码
protected void onPause()
{
super.onPause();
username.settext("");
password.settext("");
}
答案 4 :(得分: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的launchMode必须是默认值(即:根本不指定)或“标准”。
这将导致LoginActivity的当前实例完成,并且将创建一个新的LoginActivity实例,并将调用onCreate()方法。