0

私はこの問題に悩まされています。問題を説明させてください。

簡単にするために 2 つのアクティビティがあります。最初のアクティビティをアクティビティ、2 番目のアクティビティをアクティビティとします。

親アクティビティには、いくつかのアイテムのリストビューがあり、リストビューの下には、価格に基づいてリストをフィルタリングするための価格フィルター ボタンがあります。ユーザーが価格フィルター ボタンをクリックすると、子アクティビティが開始されます。

子アクティビティでは、価格を設定するためのシークバーを提供しています。子アクティビティでは、シークバーのキャンセルとフィルターの下に 2 つのボタンがあります。

今、私は3つの異なるシナリオを持っています:

  1. 最初のシナリオでは、ユーザー子アクティビティが開始するよりも親アクティビティで価格フィルター ボタンをクリックします。ユーザーが再度価格フィルター ボタンをクリックすると、フィルター結果が表​​示されます。ユーザーが残した場所から子アクティビティが開始され、STATE1が表示されます。(両方のアクティビティで FLAG_ACTIVITY_REORDER_TO_FRONT を設定することで、このシナリオを実行できます)

  2. 2 番目のシナリオ:ユーザーは最初のシナリオに進み、親アクティビティの価格フィルター ボタンをクリックしてから、子アクティビティが開始されます。リストをフィルタリングして、キャンセルボタンをクリックすると、子アクティビティがSTATE1を表示するよりも価格フィルター ボタンを再度クリックすると、ユーザーは単に親アクティビティに戻ります。しかし、それはSTATE2を示しています

  3. 3 番目のシナリオ:ユーザーが最初のシナリオに進み、親アクティビティの価格フィルター ボタンをクリックしてから、子アクティビティが開始されます。リストをフィルタリングして、Android携帯の戻るボタンをクリックすると、ユーザーが価格フィルターボタンを再度クリックすると、子アクティビティがSTATE1を表示するはずですが、ここでは子アクティビティが再作成されているため、 STATE1もSTATE2も表示されません。 .

つまり、最初のシナリオでのみ、子アクティビティの状態を保存し、すべてのシナリオでこの状態を表示したいと考えています (問題を理解してもらうために最善を尽くしました)。

シークバーの状態を保存する必要があることを明確にしたい。何らかの方法で運ぶシークバーの値。

このタスクを実行するために、アクティビティのライフサイクルを 5 回読み取りましたが、この方法では必要な値のみを保存でき、シークバーの状態を保存できません。

みんな何も助けていないので、助けてください。

前もって感謝します

ランジャン

4

1 に答える 1

0

を使用してシークバーの値を取得できないのはなぜSeekbar.getProgress()ですか?

于 2012-04-05T13:57:54.223 に答える