如何保存活动的ui状态

时间:2012-04-05 13:49:30

标签: android state lifecycle android-activity

我遇到了这个问题。让我解释一下这个问题。

为简单起见,我有两项活动,让我们将第一项活动命名为父级活动,将第二项活动命名为子级活动。

在父活动中,我有一些项目的列表视图,在列表视图下方,我有一个价格过滤按钮,可以根据价格过滤列表。当用户点击价格过滤器按钮,然后开始子活动。

在儿童活动中,我提供了一个搜索栏来设定价格。在儿童活动中,我在搜索栏取消和过滤器下面有两个按钮。

现在我有三种不同的情景:

  1. 在第一个场景中用户单击父活动中的价格过滤器按钮,而不是子活动开始。在子活动用户中调整搜索栏(请说明此子活动的状态为STATE1 )并点击过滤器按钮,然后用户将进入父活动,如果用户再次点击,则会立即看到过滤结果 价格过滤按钮比儿童行为应该从用户离开的地方开始意味着它应该显示 STATE1 ..(我可以通过在两个活动中设置FLAG_ACTIVITY_REORDER_TO_FRONT来执行此方案)

  2. 在第二种情况用户首先使用第一个方案,现在点击父活动中的价格过滤器按钮,然后启动子活动。在子活动用户中调整搜索栏( LET将这种子活动状态称为STATE2 ),但现在用户不想过滤列表,因此单击取消按钮,如果用户再次单击,用户只需返回父活动价格过滤按钮比儿童活动应显示 STATE1 。但它显示 STATE2

  3. 在第三种方案中用户首先使用第一个方案,现在点击父活动中的价格过滤器按钮,然后启动子活动。在子活动用户中调整搜索条( LET将这种儿童活动状态称为STATE3 ),但现在用户不想过滤列表,因此点击安卓手机返回按钮,如果用户,用户现在只需返回父活动再次单击价格过滤器按钮,而不是子活动应显示 STATE1 ,但此处子活动在重新创建时既不显示 STATE1 也不显示 STATE2 。 / p>

  4. 简而言之,仅在第一个场景中我想保存子活动的状态,并希望在每个场景中显示这种状态。(我尽力让你理解我的问题)

    我想清楚我需要保存搜索栏状态。搜索栏值我会以某种方式携带。

    要执行此任务,我已经阅读了活动生命周期五次,但通过这种方式我只能存储一些所需的值,我无法存储搜索栏状态。

    伙计们没有任何帮助,所以请帮助我。

    提前致谢

    兰詹

1 个答案:

答案 0 :(得分:0)

为什么不能使用Seekbar.getProgress()获取搜索栏的值?