Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.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:如何从SharedReferences获取ArrayAdapter的字符串数组?_Android_String_Listview_Sharedpreferences_Android Arrayadapter - Fatal编程技术网

Android:如何从SharedReferences获取ArrayAdapter的字符串数组?

Android:如何从SharedReferences获取ArrayAdapter的字符串数组?,android,string,listview,sharedpreferences,android-arrayadapter,Android,String,Listview,Sharedpreferences,Android Arrayadapter,我创建了SharedReferences。它从ArrayList获取值并保存值 SharedPreferences sharedPref = this.getPreferences(Activity.MODE_PRIVATE); SharedPreferences.Editor editor = this.getPreferences(Activity.MODE_PRIVATE).edit(); editor.putString("List", TextUtils

我创建了SharedReferences。它从ArrayList获取值并保存值

        SharedPreferences sharedPref = this.getPreferences(Activity.MODE_PRIVATE);
    SharedPreferences.Editor editor = this.getPreferences(Activity.MODE_PRIVATE).edit();
    editor.putString("List", TextUtils.join(",", arrayList));
    editor.commit();
然后,我想在字符串数组中获取这些值,因为它需要是ArrayAdapter的数组。在ArrayAdapter之后,我想打印ListView的保存值

       String [] serialized = sharedPref.getString("List", null); // This is not right.
    arrayList = Arrays.asList(TextUtils.split(serialized, ","));

    final ArrayAdapter<String> arrayAdapter;
    arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, serialized);
    listView.setAdapter(arrayAdapter);
String[]serialized=sharedPref.getString(“List”,null);//这是不对的。
arrayList=Arrays.asList(TextUtils.split(序列化,“,”);
最终阵列适配器阵列适配器;
arrayAdapter=新的arrayAdapter(这是android.R.layout.simple\u list\u item\u 1,序列化);
setAdapter(arrayAdapter);

如何从SharedReferences for ArrayAdapter获取字符串数组?

返回的将只是一个
string
,而不是
string[]
。使用
字符串
设置
数组列表
,稍后使用您的方法TextUtils.split。我想您可能需要做的就是使用
字符串序列化
,而不是vinitius指出的
字符串[]序列化
。SharedPrefs只是存储字符串,而不是数组或集合。一旦你有了这个字符串,你就可以像你已经做的那样把它分割成一个集合。它需要数组。如果我使用一个简单的字符串,ArrayAdapter会出现错误:“无法解析构造函数…”从SharedRefs获取
字符串。在此之后,将字符串转换为字符串[],然后将其传递给adapter@AndroidDeveloper:您是否尝试过
String serialized=sharedPref.getString(“List”,null);arrayList=Arrays.asList(TextUtils.split(序列化,“,”)