当活动调用是onStop()方法时,我设法在列表中重新加载列表项。在这里我想存储按下按钮时产生的内容。如果你读过我以前的几篇文章,你会知道发生了什么,但这是一个不同的问题。如何使用共享首选项调用列表
使用我的代码:
listLimit = listItems.size() - 1;
for(int i = 0; i < listLimit; i++)
{
storeList[i] = listItems.get(i).toString();
tempDataStore = storeList[i];
editor.putString(DATA,tempDataStore);
}
editor.commit();
我存储storeList的值。我知道上面的做法基本上会在迭代时覆盖tempDataStore。这意味着当它在onCreate()方法中被调用时,只会加载列表的最后一个值。那么我该如何解决这个问题?我怎样才能唯一标识每个列表项,而无需为每个列表项创建一个新的字符串变量?
UPDATE
我通过改变键上并保持价值还挺排序它。当我像这样添加它们时:
listItems.add(0, settings.getString( DATA+"0",tempDataStore));
它有效。但是当我尝试在for循环中做同样的事情时,如下所示:
for(int i = 0; i < listLimit; i++)
{
listItems.add(i, settings.getString( DATA+""+i,tempDataStore));
}
注意到会发生。为什么这样?
什么也没有发生..你的意思是..得到错误..或列表仍然是空的? – 5hssba 2012-04-03 12:54:04
列表保留为空 – Katana24 2012-04-03 12:54:51
我确定了原因 - 这是因为listLimit实际上等于零,因此循环永远不会启动。所以为了纠正这个问题,我保存了列表的大小并在for循环中调用它。我会尽快发布我所做的 - 我无法提交自己的答案,因为我的信誉点数少于100个:p – Katana24 2012-04-03 13:16:56