我的应用程序:有两个活动,一个创建两个字符串(名称和消息),这两个字符串被保存到hashmap中,传输到JSON中,并保存在SharedPreference中。另一个活动获取这个SharedPreference,再次将其转移到hashmap中。然后地图被迭代器“读出”。
应该是:我的想法是,如果我多次执行这个过程,迭代器就会“读出”HashMap中的所有条目。
LinkedHashMap<String, String> map = new LinkedHashMap<String, String>();
map.put(message, name);
Gson gson = new Gson();
String hashMapString = gson.toJson(map);
SharedPreferences prefs = getSharedPreferences("SP", MODE_PRIVATE);
prefs.edit().putString("hashString", hashMapString).apply();
Gson gson = new Gson();
SharedPreferences prefs = getSharedPreferences("SP", MODE_PRIVATE);
String storedHashMapString = prefs.getString("hashString", "Error");
java.lang.reflect.Type type = new TypeToken<LinkedHashMap<String, String>>(){}.getType();
LinkedHashMap<String, String> map = gson.fromJson(storedHashMapString, type);
Iterator myIterator = map.keySet().iterator();
while(myIterator.hasNext()) {
String key=(String)myIterator.next();
String value=(String)map.get(key);
Toast.makeText(getApplicationContext(), "Key: "+key+" Value: "+value, Toast.LENGTH_LONG).show();
}
在这样做的时候
prefs.edit().putString("hashString", hashMapString).apply();
您只是保存了新创建的hashmap的值,但丢失了以前使用hashstring
键保存的旧值
解决方案:获取旧值并将其与新值一起保存
String allValues ="{"+((prefs.getString("hashString", "")+hashMapString)
.replace("{","").replace("}",""))+"}";
然后稍后保存它
prefs.edit().putString("hashString", allValues).apply();
关于下面的代码,我有两个问题, 1.我在哈希图中有两次键“二”,打印时,“二”只显示一次。为什么它没有显示“二”两次? 2.如何选择性地显示键“二”?
编辑:我已经回答了这个问题,代码已经被更改,所以它是可用的,请在您自己的项目中随意使用代码。你好,利亚姆 我目前正在LWJGL中进行3D模型渲染,我遇到了一个问题,当我运行程序时,显示会出现,并且一切都与模型无关。我测试了3D空间代码,绘制了一些随机点,我可以看到它们并四处走动,所以我的3D空间代码正在工作,但模型代码不行。 我的问题如下:我的显示代码有问题吗?还是我的模型加载代码有问题?下面是我
如何在任何浏览器中显示创建的pdf? 当前的输出是这样的,基本上是原始的PDF: %PDF-1.4%2 0 obj<>流x+r 26 s 00 si 2 p 5 1 b 4>>>>/父3 0 r/mediabox[0 0 595 842]>>内dobj 1 0 obj<>内dobj 3 0 obj<>内dobj 5 0 obj<>内dobj 6 0 obj<>内dobj xref 0 7 000
我有一个svg的xml代码,这段代码可以在edge、chrome浏览器正常打开并显示出svg绘制的内容,而当我用firefox打开的时候,页面却是一片空白,这是什么原因造成的以及如何修复使得firefox上也可以正常显示。 firefox的版本 edge上 firefox上
我试图在matplotlib中绘制多条线。 我已经习惯了标签功能,但它没有显示它。 这是我的密码。 这是我的照片:
以下样式为什么在一些如平板上这样显示,如何修复?为什么1,2,3这些序号好像都单独占一行了! 正常显示是这样: