0

スピナーの位置を、2 番目のアクティビティを呼び出す前の状態に戻すことができないようです。

アプリのレイアウト: アクティビティ「メイン」にはスピナーと 8 つのボタンがあり、ユーザーはスピナーからアイテムを選択し、ボタンをクリックしてそのアクティビティを開きます (「メイン」アクティビティで「finish()」を呼び出しません)。 . ユーザーが 2 番目のアクティビティを終了したら、次のコードを実行して、「メイン」アクティビティを前面に戻します。

private void exitActivity() {
    Intent mainIntent = new Intent(this, Main.class);
    startActivity(mainIntent);
    finish();
}

私の問題は、「メイン」アクティビティのスピナーが、ユーザーが 2 番目のアクティビティに移動する前に選択されたものではなく、常に位置 0 に戻されることです。

助けてくれてありがとう。

3、2、1でバカみたい…

4

2 に答える 2

1

なんでやってるの?:

    Intent mainIntent = new Intent(this, Main.class);
    startActivity(mainIntent);

電話finish()をかけるだけで、2番目のアクティビティが開始されたアクティビティに戻ることができます。

そのアクティビティは終了しなかったため、スピナーは2番目のアクティビティを開始する前の状態になります。

于 2012-08-30T18:38:19.243 に答える
0

ユーザーの選択をonPauseメソッドでSharedPreferencesに永続化し、そこからonResumeメソッドで再ロードできます。

これは非常に一般的なアプローチのようです。

于 2012-08-30T18:36:40.897 に答える