0

SharedPreferences 機能をアプリに追加して、アプリが終了した後に起動すると特定のアクティビティを起動します。

次のコードを使用して文字列を保存します。

final SharedPreferences pref1 = getSharedPreferences("myapp", MODE_PRIVATE);
            SharedPreferences.Editor editor = pref1.edit();
            editor.putString("Stringval", "view1");
            editor.commit();

次に、最後に使用されたアクティビティをロードするための次のコードです。このコードは以下のとおりですOnCreate

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        final SharedPreferences pref1 = getSharedPreferences("myapp", MODE_PRIVATE);
        String str1= pref1.getString("Stringval", null);

        if(str1 == "view0")
        {
        setContentView(R.layout.activity_view0);
        }

        else if(str1 == "view1")
        {
        setContentView(R.layout.activity_view1);
        }
        else
        {
        setContentView(R.layout.activity_no_setup);
        }

    }

このコードは、ユーザーがアプリを終了してから再起動した場合に機能します (これまではシミュレーターでのみテストされていました) が、タスク マネージャーを使用してアプリを強制終了するたびに、次 強制終了 のようにアプリを再起動しSharedPreferencesます。アプリが読み込まれない理由は何ですか、SharedPreferencesそれとも単なるシミュレーターのバグですか?

4

1 に答える 1

0

あなたは書ける

if(str1 != null && str1.equals("view0"))
        {
        setContentView(R.layout.activity_view0);
        }

        else if(str1 != null && str1.equals("view1"))
        {
        setContentView(R.layout.activity_view1);
        }
        else
        {
        setContentView(R.layout.activity_no_setup);
        }

これを試してみてください、あなたに役立つかもしれません......

于 2012-12-07T21:47:51.540 に答える