我正在做一个有 2 个屏幕的项目。第一个屏幕包含一个 ListView,其中包含所有最畅销的电影。每行包含:
a.) 电影名称 b.) 收入 c.) 发行年份
所有这些都由 XML 排列,并且每部电影都在 strings.xml 资源中的字符串数组中声明,由编码本身内的 for 循环访问。单击菜单按钮,您可以选择添加另一个条目。单击此按钮会将用户重定向到另一个包含 3 个空编辑文本字段的屏幕。这些分别对应于电影名称、收入和发行年份,用户可以在其中输入他们的电影。
这是字符串 .xml (因为太长的片段):
<string-array name="title_array">
<item>Avatar</item>
<item>Titanic</item>
<item>The Lord of the Rings: The Return of the King</item>
<item>Pirates of the Caribbean: Dead Mans Chest</item>
<item>Toy Story 3</item>
<item>Pirates of the Caribbean: On Stranger Tides</item>
</string-array>
假设我也有相应的总数组和年份数组。
这是正确的 for 循环(通过自定义适配器):
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String[] titleList = getResources().getStringArray(R.array.title_array);
String[] grossList = getResources().getStringArray(R.array.gross_array);
String[] dateList = getResources().getStringArray(R.array.date_array);
ArrayList<Lab6_082588FetchDetails> results = new ArrayList<Lab6_082588FetchDetails>();
for (int i = 0; i < titleList.length; i++) {
Lab6_082588FetchDetails sr = new Lab6_082588FetchDetails();
sr.setTitle(titleList[i]);
sr.setGross(grossList[i]);
sr.setDate(dateList[i]);
results.add(sr);
}
我的问题是,当然,我可以添加另一个条目并使用 set notifyDataSetChanged(); 但是如果用户退出并重新打开应用程序,这不会“永久”保存新条目。我的假设是可以通过代码更改 .xml 字符串资源文件,但我不知道如何。