【问题标题】:how to save ui state of an activity如何保存活动的ui状态
【发布时间】:2012-04-05 13:49:29
【问题描述】:

我被这个问题困住了。让我解释一下这个问题。

为了简单起见,我有两个活动,让我们将第一个活动命名为 parent 活动,将第二个活动命名为 child 活动。

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

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

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

  1. 在第一个场景 用户点击父活动中的价格过滤器按钮,然后子活动开始。在子活动中,用户调整搜索栏(让我们说这个子活动的状态为STATE1) 然后点击 filter 按钮,然后用户将进入父活动,如果用户再次点击,现在将看到过滤结果 价格过滤器按钮比子活动应该从用户离开的地方开始意味着它应该显示 STATE1..(我可以通过在两个活动中设置 FLAG_ACTIVITY_REORDER_TO_FRONT 来做到这一点)

  2. 在第二个场景 用户首先使用第一个场景,现在单击父活动中的价格过滤器按钮,然后子活动开始。在子活动中,用户调整搜索栏(LET说这个子活动的状态为 STATE2) 但现在用户不想过滤列表所以点击 cancel 按钮然后如果用户再次点击用户现在将返回到父活动价格过滤器按钮比子活动应该显示 STATE1。但它显示 STATE2

  3. 在第三个场景 用户首先使用第一个场景,现在单击父活动中的价格过滤器按钮,然后子活动开始。在子活动中,用户调整搜索栏(LET说这个子活动的状态为 STATE3) 但现在用户不想过滤列表所以点击 android 手机返回 按钮然后用户现在只需返回到父活动如果用户再次单击价格过滤器按钮,子活动应显示 STATE1 但此处子活动在重新创建时既不显示 STATE1 也不显示 STATE2

简而言之,仅在第一种情况下,我想保存子活动的状态并希望在每种情况下都显示这种状态。(我已尽力让您了解我的问题)

我想清楚我需要保存搜索栏状态。我将通过某种方式携带 seekbar 值。

为了完成这项任务,我已经阅读了 Activity 生命周期五次,但通过这种方式,我只能存储一些所需的值,我无法存储搜索栏状态。

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

提前致谢

兰詹

【问题讨论】:

    标签: android state lifecycle android-activity


    【解决方案1】:

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

    【讨论】:

    • 感谢回复,但实际上我使用的是从code.google.com/p/range-seek-bar 获得的双拇指搜索栏,第二件事我想要调整后的搜索栏状态,我将以某种方式携带值。所以请用其他方式给我打电话
    • range-seek-bar的代码有两种方法要使用RangeSeekBar.getSelectedMinValue()RangeSeekBar.getSelectedMaxValue()
    • 我见过这些方法,我可以从这些方法中获取值,但我的问题是将搜索栏位置设置为先前状态。可能是我误会了您,所以请您详细说明如何执行此任务。
    • @ranjan,你是认真的吗?你是如何使用一个对象而不读取它的源代码的?除了 getSelectedMaxValue()getSelectedMinValue() 之外,还有两个 setter 方法 setSelectedMaxValue()setSelectedMinValue() 我想它们可能会有所帮助
    猜你喜欢
    • 2019-03-28
    • 1970-01-01
    • 2010-09-14
    • 2014-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-31
    • 1970-01-01
    相关资源
    最近更新 更多