Android如何返回活动B,其中包含来自活动C的A的ID?

时间:2013-11-07 06:20:40

标签: android android-activity navigation android-actionbar

我有三项活动。活动A提供组列表。单击某个组时,您将转到活动B,传递所单击项目的组ID,以便您可以看到该组的详细信息。当您按活动B上的“添加”按钮时,您将进入活动C.

使用操作栏的后退和/或上移按钮,我可以毫无问题地从活动B导航到活动A.我可以再次重新加载活动A的列表项。但是当我按活动C的操作栏的后退按钮转到活动B时,会发生错误,因为活动A中传递的组ID未恢复。

请告诉我什么是最好的事情。我是新手。

PS:我知道有硬件后退按钮,但根据要求,操作栏中的后退按钮是必需的。

4 个答案:

答案 0 :(得分:0)

当您从活动A导航到活动B然后导航到活动C时,您不需要杀死活动。很可能,您正在查杀活动,这就是从活动A引用该groupId不再可用的原因。

答案 1 :(得分:0)

我想,你是从活动C到B的意图。通过这样做,你已经调用了活动B的onCreate方法。所以我建议你在活动C中编写代码列表

@Override
public void onBackPressed() {
    finish();
}

答案 2 :(得分:0)

当您按下操作栏中的后退按钮时,您是否正在创建新意图并推送活动。如果是这样,那么你必须将id传递给class。

如果你调用finish()而不是在后退按钮的onClick监听器中创建意图,我认为恢复id没有问题。

答案 3 :(得分:0)

在清单文件中使用这样的元数据标记,例如

         <activity ...>   

            <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.org.abc.board" />

         </activity>