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 回答