如何处理父活动当孩子活动完成
我有两个活动,说LoginActivity
其中包含登录界面和HomeActivity
。在HomeActivity
,我已经把一个按钮,调用下面的方法:如何处理父活动当孩子活动完成
public void goToLoginPage(View view) {
finish();
super.finish();
Intent i = new Intent(HomePageActivity.this, LoginActivity.class);
startActivity(i);
}
但是,当我点击这个按钮,随着最后输入凭据登录页面再次出现。相反,我需要一个新的登录页面,或者至少不需要最后输入的凭据。
根据您的信息
Intent i = new Intent(HomePageActivity.this, LoginActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();
当您想要打开下一个活动,然后完成()登录活动时成功登录。通过这样做,下次如果您开始使用intent登录,它将打开一个新的登录页面
当您启动HomeActivity时,将在LoginActivity中调用finish()方法,这会使LoginActivity被销毁。当您调用startActivity启动LoginActivity时,LoginActivity将实例化一个新的。
我是android开发新手,希望能帮到你。
请尝试下面的代码。在的onPause LoginActivity
protected void onPause()
{
super.onPause();
username.settext("");
password.settext("");
}
不是不工作:( – Abhinav 2012-07-05 12:19:24
写下面的代码(),LoginActivty是起始活性和活性,登录成功后,开始HomePageActivity。要返回LoginActivity,你可以执行以下命令:
Intent i = new Intent(HomePageActivity.this, LoginActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();
这是否,何时LoginActivity推出HomePageActivity,也没有呼吁本身(完成()只会工作,即:LoginActivity的情况下仍然必须存在在活动堆栈中)。此外,LoginActivity的launchMode必须是默认的(即:根本没有指定)或“标准”。
这将导致LoginActivity的当前实例完成并创建一个新的LoginActivity实例,并调用onCreate()方法。
如果你这样做,每次用户在登录字段中输入内容,然后按HOME键或接听电话,当他返回到应用程序时,这些字段将是空的,这不是一个好的用户体验恕我直言。 – 2013-11-25 11:06:25
基于您提供的一些细节的猜测:您需要修改LoginActivity的初始化。 – m0skit0 2012-07-05 11:26:07
尝试在第二个活动按钮中删除finish()和super.finish()按钮单击 – 2012-07-05 11:28:47
什么是开始活动(第一次启动应用程序时运行的活动?) – 2012-07-05 11:29:37