Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 共享引用在强制退出时丢失?_Android_Eclipse_Sharedpreferences - Fatal编程技术网

Android 共享引用在强制退出时丢失?

Android 共享引用在强制退出时丢失?,android,eclipse,sharedpreferences,Android,Eclipse,Sharedpreferences,我已将SharedReferences功能添加到我的应用程序中,以便在退出应用程序后启动特定活动 我使用以下代码保存字符串: final SharedPreferences pref1 = getSharedPreferences("myapp", MODE_PRIVATE); SharedPreferences.Editor editor = pref1.edit(); editor.putString("Stringval", "view1")

我已将SharedReferences功能添加到我的应用程序中,以便在退出应用程序后启动特定活动

我使用以下代码保存字符串:

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);
        }

    }
如果用户刚刚退出应用程序,然后重新启动它(目前为止仅在模拟器中进行了测试),那么代码可以工作,但每当我使用任务管理器强制退出应用程序时,如下所示: 应用程序只需重新启动,无需使用
SharedReferences
。 应用程序不加载共享参考的原因是什么?或者这只是一个模拟器错误?

您可以编写

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);
        }
试试这个,可能对你有帮助