针对不同Intent对象

时间:2015-04-25 18:51:17

标签: android android-intent

我的应用程序中有两个活动: - 主要活动: - 显示城市列表 CityActivity: - 显示所选城市的详细信息。

问题是: - 如果我选择一个城市" NewYork"在MainActivity中,它将我带到CityActivity并显示NewYork详细信息 如果返回并选择"旧金山"然后它将我带到CityActivity并显示旧金山的详细信息。

现在,当我按下电话设备时,它将带我进入每个城市活动"纽约","旧金山",......就像浏览器后退按钮一样。

我尝试了多种方法来解决它,但它没有帮助我: - a。)在CityActivity中调用finish() b。)添加android:launchMode =" singleInstance"在清单文件中。

我想在这里实现的是,如果带有NewYork对象的CityActivity存在于内存中,我会尝试选择"旧金山"城市,那么它应该摧毁与纽约" Intent Object并使用" San Francisco"创建一个新活动。意图对象。

2 个答案:

答案 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)

开始城市活动时设置意图标志“无历史记录”