我的应用程序中有两个活动: -
主要活动: - 显示城市列表
CityActivity: - 显示所选城市的详细信息。
问题是: -
如果我选择一个城市" NewYork"在MainActivity中,它将我带到CityActivity并显示NewYork详细信息
如果返回并选择"旧金山"然后它将我带到CityActivity并显示旧金山的详细信息。
现在,当我按下电话设备时,它将带我进入每个城市活动"纽约","旧金山",......就像浏览器后退按钮一样。
我尝试了多种方法来解决它,但它没有帮助我: -
a。)在CityActivity中调用finish()
b。)添加android:launchMode =" singleInstance"在清单文件中。
我想在这里实现的是,如果带有NewYork对象的CityActivity存在于内存中,我会尝试选择"旧金山"城市,那么它应该摧毁与纽约" Intent Object并使用" San Francisco"创建一个新活动。意图对象。
答案 0 :(得分:0)
在您的城市详细信息活动中添加此
@Override
public void onBackPressed() {
finish();
}
这就是全部
编辑2: 打开详细信息活动时,请像这样调用
Intent i= new Intent(MainActivity.this,DetailsActivity.class);
i.putExtra("Name",Name);
....
startActivity(i);
finish()//add this
在详细活动中按下后,执行此操作
@Override
public void onBackPressed() {
Intent i= new Intent(DetailsActivity.this,MainActivity.class);
startActivity(i);//starting main activity
finish();
}
答案 1 :(得分:0)
开始城市活动时设置意图标志“无历史记录”