Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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
Java 如何显示共享首选项中的随机字符串?_Java_String_Android Studio_Sharedpreferences - Fatal编程技术网

Java 如何显示共享首选项中的随机字符串?

Java 如何显示共享首选项中的随机字符串?,java,string,android-studio,sharedpreferences,Java,String,Android Studio,Sharedpreferences,我试图通过单击按钮从共享首选项的RecyclerView列表中显示一个随机字符串。但是如果我使用下面的代码,我将得到文本字段中的所有内容,而不仅仅是我想要的文本 它告诉我: [{"mImageResource":0,"mLine1":"i want only this part":""}] 代码: myRecyclerView中的代码: private void saveData(){ SharedPrefe

我试图通过单击按钮从共享首选项的
RecyclerView
列表中显示一个随机字符串。但是如果我使用下面的代码,我将得到文本字段中的所有内容,而不仅仅是我想要的文本

它告诉我:

[{"mImageResource":0,"mLine1":"i want only this part":""}]
代码:

myRecyclerView中的代码

private void saveData(){
   SharedPreferences sharedPreferences = getSharedPreferences("shared preferences", MODE_PRIVATE);
   SharedPreferences.Editor editor = sharedPreferences.edit();
   Gson gson = new Gson();
   String json = gson.toJson(mExampleList);
   editor.putString("task list", json);
   editor.apply();
}

private void loadData() {
    SharedPreferences sharedPreferences = getSharedPreferences("shared preferences", MODE_PRIVATE);
    Gson gson = new Gson();
    String json = sharedPreferences.getString("task list", null);
    Type type = new TypeToken<ArrayList<ExampleItem>>(){}.getType();
    mExampleList = gson.fromJson(json, type);
    if (mExampleList == null) {
        mExampleList = new ArrayList<>();
    }
}       
private void saveData(){
SharedPreferences SharedPreferences=getSharedPreferences(“共享首选项”,模式\私人);
SharedReferences.Editor=SharedReferences.edit();
Gson Gson=新的Gson();
字符串json=gson.toJson(mExampleList);
putString(“任务列表”,json);
editor.apply();
}
私有void loadData(){
SharedPreferences SharedPreferences=getSharedPreferences(“共享首选项”,模式\私人);
Gson Gson=新的Gson();
String json=SharedReferences.getString(“任务列表”,null);
Type Type=new-TypeToken(){}.getType();
mExampleList=gson.fromJson(json,类型);
如果(mExampleList==null){
mExampleList=newArrayList();
}
}       

您用“任务列表”键在首选项中保存了什么?我对整个recyclerview还不太熟悉。我有一个文本行,一个用于删除行的imagebutton。您可以使用java的
Random
类在1和n之间选择一个数字,其中n是列表中项目的总数。之后,您可以使用
Gson
库从JSON解析
mLine1
属性。谢谢您的回答。但我现在完全迷路了。如何从JSON解析属性?
private void saveData(){
   SharedPreferences sharedPreferences = getSharedPreferences("shared preferences", MODE_PRIVATE);
   SharedPreferences.Editor editor = sharedPreferences.edit();
   Gson gson = new Gson();
   String json = gson.toJson(mExampleList);
   editor.putString("task list", json);
   editor.apply();
}

private void loadData() {
    SharedPreferences sharedPreferences = getSharedPreferences("shared preferences", MODE_PRIVATE);
    Gson gson = new Gson();
    String json = sharedPreferences.getString("task list", null);
    Type type = new TypeToken<ArrayList<ExampleItem>>(){}.getType();
    mExampleList = gson.fromJson(json, type);
    if (mExampleList == null) {
        mExampleList = new ArrayList<>();
    }
}