Android主 - 细节片段保留细节状态

时间:2013-05-17 04:47:12

标签: android android-fragments master-detail

我有一个主 - 细节片段布局,如下所示:

enter image description here

当选择列表视图中的数字时,详细视图中的值会发生变化(即单选按钮文本更改)。我有以下问题:当我在列表视图中单击数字1并在详细视图中选择选项1,然后在列表视图中单击不同的数字时,已设置详细视图选项。如果在那时我选择不同的选项并返回列表视图1然后设置最后一个选项(即我之前的选择不是持久的)。

如何确保单选按钮的选择在列表视图选项中保持不变,并且之前的单选按钮选项不会影响下一个单选按钮选项?

我目前的方法是在活动中使用静态数组,记录每个列表视图编号的选项选项。当我返回到特定列表视图编号时,我查找从数组中选择的单选按钮并相应地设置详细视图。但是之前的单选按钮选项仍然在下一个单选按钮组中设置。

1 个答案:

答案 0 :(得分:2)

如果您对列表视图中的所有项目使用相同的详细信息片段,我认为您应该在每次选择更改时将当前用户的选择保存到listview项目的Tag对象中。

在更改之前保存它(setTag()),并加载用户对项目的选择,如果它的getTag()不为null。

或者,您可以在ViewPager中使用相同(或不同)类型的不同片段,并使用ListView在页面之间切换。在您的情况下,这可能是一个小开销,但您可以免费获得状态保存,回溯等等。你也会得到更干净的代码。我更喜欢这个解决方案。