[英]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.