[英]I can't take value from Hashmap
使用map.put表示错误时,我无法从dataF中获取价值。如果我替换map.put(“ Nos”,dataF); 到map.put(“ Nos”,dataF [arrLength])工作,但返回[Ljava.lang.string; @ b1f37df0
ArrayList<HashMap<String,String[]>> ArrList = new ArrayList<HashMap<String,String[]>>();
Intent intent = getIntent();
String[] dataF = intent.getStringArrayExtra("Money");
ListView list1 = (ListView)findViewById(R.id.listView1);
int arrLength = dataF.length;
for(int i=0;i<arrLength;i++)
{
HashMap<String, String[]> map = new HashMap<String, String[]>();
map.put("Nos", dataF[arrLength]); // << error
ArrList.add(map); // << error
}
ListAdapter adapters = new SimpleAdapter(resultActivity.this,ArrList,
R.layout.activity_column,
new String[] {"Nos"},new int[] { R.id.textView1});
list1.setAdapter(adapters);
您尝试放置map.put("Nos", dataF[arrLength]);
就像HashMap<String, String[]>
但是dataF[arrLength]
是一个String
而您的hashmap
需要一个String Array
。
您可以将其更改为:
map.put("Nos", dataF);
如果您解决了这个问题,我想下一行也解决了。
并使用dataF[arrLength]
您必须获得ArrayIndexOutOfBounds
因为数组的最后一个索引是dataF[arrLength - 1]
更新
用您对评论的发言,我想您尝试显示hashMpa.getValue();
但是您的值是String数组,因此您需要显示其中一个索引,例如hashMpa.getValue()[0];
您需要遵循以下步骤来显示值:
String[] value = hashMap.getValue();
for ( int i = 0 ; i < value.lenght() ; i++)
Log.d("index "+i , value[i]);
更新代码如下:
HashMap<String, String[]> map = new HashMap<String, String[]>();
map.put("Nos", dataF); // Pass the Array instead String
ArrList.add(map);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.