2

我有三个活动。活动 A 提供了一个组列表。当您单击一个组时,您会继续进行活动 B,并传递所单击项目的组 ID,以便您可以查看该组的详细信息。当您在活动 B 上按下“添加”按钮时,您将继续进行活动 C。

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

请告诉我最好的做法是什么。我是新手。

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

4

4 回答 4

1

当您从活动 A 导航到活动 B 再到活动 C 时,您不需要终止活动。很可能,您正在终止活动,这就是从活动 A 中对该 groupId 的引用不再可用的原因。

于 2013-11-07T06:27:09.620 回答
0

我认为,您的意图是从 Activity C 到 B。通过这样做,您已经调用了 Activity B 的 onCreate 方法。所以我建议您在 Activity C 中列出此代码

@Override
public void onBackPressed() {
    finish();
}
于 2013-11-07T06:35:14.943 回答
0

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

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

于 2013-11-07T06:45:05.763 回答
0

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

         <activity ...>   

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

         </activity>
于 2013-11-07T08:56:54.923 回答