Android 从列表视图中提取数据
我目前有一个自定义的Android 从列表视图中提取数据,android,android-listview,sharedpreferences,Android,Android Listview,Sharedpreferences,我目前有一个自定义的列表视图,每个项目中有两行文本,一行用于当前时间,另一行用于用户输入的文本。我通过创建一个新的hashmap并添加到中来实现这一点,我认为您的问题是,这是for循环 for (String string : feedPostMap.keySet()){ sharedPrefEditor.putString(string, feedPostMap.get(string)); } 所以试试看 Set<String> s =
列表视图
,每个项目中有两行文本,一行用于当前时间,另一行用于用户输入的文本。我通过创建一个新的hashmap
并添加到中来实现这一点,我认为您的问题是,这是for循环
for (String string : feedPostMap.keySet()){
sharedPrefEditor.putString(string, feedPostMap.get(string));
}
所以试试看
Set<String> s = new HashSet<String>();
for (int i=0;i<list.size();i++){
s.add(list.get(i).get(string));
}
sharedPrefEditor.putStringSet(stringSet, s);
Set s=newhashset();
对于(int i=0;我想知道我的答案,希望这能对您有所帮助。您能告诉我为什么要将数据存储在共享首选项中吗?这是出于安全原因还是您不想与其他人共享?我只是想将用户输入的项存储在列表视图中,这样当它们返回到当前活动时,列表视图将是repopulated。我认为SharedReference是一种方式,但也许不是?我应该保存捆绑包还是你的建议?如果你不销毁你的活动并导航到其他活动,那么listview中的数据保持原样,因此当你返回到ActivityResult()上的第一个活动时,你不需要使用SharedReference然后您的活动将保持在相同的状态。无需再次创建活动。我将立即尝试此操作。我是否必须包括commit()
或apply()
?谢谢,还有,sharedPrefEditor.putStringSet(stringSet,s)中设置的字符串是什么
?好的,我发现putStringSet
仅适用于API 11及以上版本。我正在为API 8及以上版本编写代码。有什么方法可以解决这个问题吗?谢谢。对于API 8,您必须将其作为前置数据类型存储为唯一的字符串,因此必须存储在许多不同的键和值中。
Set<String> s = new HashSet<String>();
for (int i=0;i<list.size();i++){
s.add(list.get(i).get(string));
}
sharedPrefEditor.putStringSet(stringSet, s);
putStringSet(String key, Set<String> values)