如何在共享首选项中存储动态添加的编辑文本的值

how to store values of dynamically added edit text in shared preferences

我的问题是,我正在动态创建下方视图。

  1. 编辑文本(组织名称)
  2. 垂直方向的线性布局,其中包含编辑文本(作业 1)、编辑文本(作业 2)、编辑文本(作业 3)...等等,具体取决于用户单击“添加作业”按钮。
  3. 按钮(添加职位)单击此按钮可在上述线性布局中添加职位编辑文本,其中包含特定组织的所有职位。
  4. 按钮(添加组织)点击此按钮再次创建以上三个视图,即。组织名称(编辑文本)、线性布局(编辑文本(作业 1)、编辑文本(作业 2)、编辑文本(作业 3)...等等)、按钮(添加作业)。

我的问题是如何在共享首选项中以结构化方式存储每个编辑文本的值,如下所示。

组织 1

  1. 工作 1
  2. 工作 2
  3. 工作 3
  4. .....
  5. .....
  6. .....

组织 2

  1. 工作 1
  2. 工作 2
  3. .....
  4. .....

等等

为什么我要将值存储在共享首选项中是因为,一旦用户在输入有关组织和工作的所有详细信息后导航到其他页面,然后如果 he/she returns返回同一页面,所有之前输入的详细信息(组织和工作详细信息)都必须在那里。

请建议我怎么做,任何想法将不胜感激。

谢谢。

我会创建一个组织 Class,它看起来像这样:

Class Organization {

      String name;
      ArrayList<String> jobsList;
}

然后我将从您的 UI 添加所需的信息,序列化对象并将其保存到 SharedPerfrences:

      Gson gson = new Gson();
      String dataToSave = gson.toJson(organization);
      //save the data using SharedPerfrences