在android中隐藏活动

Ala*_*ita 4 android android-activity

我在Android应用程序中有两个活动,每个活动都有一个按钮转到另一个活动(通过startActivity()方法).在第二个活动中,我有一个编辑文本(URL地址栏)和一个Web视图.

因此,当我单击activity1的按钮以启动activity2时,我会使用Web视图获取activity2.然后我cnn.com在地址栏中键入(例如),我的Web视图显示该cnn.com网站.之后,我点击按钮从activity2转到activity1.如果我再次点击activity1的按钮,我会启动activity2.但是我刚刚创建了activity2,编辑文本和Web视图都是空的.

我想要的是:如果我从activity1返回到activity2,我希望activity2保持最后一个状态:编辑文本应该保留cnn.com,Web视图应该继续显示CNN网站.所以我需要的是在启动activity1之前不要退出activity2,但是只需要隐藏它并启动activity2,这样如果我再次返回它,我就会得到它的最后状态.(就像我点击主页按钮一样.)我怎样才能做到这一点?

Her*_*rry 9

这是解决问题的建议.

当你从Activity 2中的Button开始.现在你在Activity 1中,确保当你从第二个活动转到一个时,它不应该完成第二个活动.

现在当你想回到Activity 2时,你需要在下面调用你的Activity.

    Intent mIntent=new Intent(yourActivityOne1.this, YourActivity2.class);
    mIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    mIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
    startActivity(mIntent);
Run Code Online (Sandbox Code Playgroud)

所以这段代码所做的是它会使Activity首先出现而不创建新的活动实例,你可以看到你最后加载的网站.

  • 只需简单地覆盖你的活动2中的后退按钮键,因为在android中如果按回键它将完成你的活动.你可以使用这个代码@Override public boolean onKeyDown(int keyCode,KeyEvent event){if(keyCode == KeyEvent.KEYCODE_BACK){Intent intent = new Intent(ActivityTwo.this,ActivityOne.class); intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); startActivity(意向); } return super.onKeyDown(keyCode,event); } (3认同)