我正在尝试在 hashmap 中添加一些数据,我将 hashmap 声明为类字段,但正在将数据添加到 itcinside 几种方法和最终方法中,当我尝试获取数据时,我得到 null 或为空,就好像数据不存在一样这里的 hashmap 是我在做什么的示例代码Public myclass extens fragment {Private Map<String, String> data = new hashmap<String,String>() ;@overridePublic onViewCreated() {//some codeReturn view;}Public view stepOne() {EditText text = findviewbyid(id) ;String text1 = text. getText().toString();data.put("data1",text1);Return text;}Public view stepTwo({EditText text2 = findviewbyid(id) ;String text3 = text. getText().toString();data.put("data2",text3);Return text2;}Public view stepFinal() {String firstStepData = data.get("data1");String firstStepData = data.get("data2");}}stepFinal() 中的变量是空的,为什么以及如何解决这个问题?
3 回答
慕桂英546537
TA贡献1848条经验 获得超10个赞
声明变量时,请使用 HashMap 而不是 Map。然后,在此链接中更好地检查 hashmap 的工作方式。
快速解释:
Hashmap 使用键值对进行工作,因此,如果您以这种方式声明 hashmap:
private HashMap<String,String>
你是说你的 hashmap 有 String 作为键,另一个 String 作为值。如果你想得到一些值,你应该使用关联的键:
data.put("myKey","myValue")
data.get("myKey")
在您的情况下,您只能获得分配给“data1”键的最后一个值,因为您在“stepTwo”中覆盖了该键。
因此,在第二步中,您应该使用另一个键,例如:
data.put("data3","text3");
在最后一步:
data.get("data1");
data.get(""data3");
添加回答
举报
0/150
提交
取消