Java 我能';t从Hashmap中获取值
当我使用map.put时,我不能从dataF中获取值,如果我替换map.put(“Nos”,dataF);要映射.put(“Nos”,dataF[arrLength]),它可以工作,但返回[Ljava.lang.string;@b1f37df0Java 我能';t从Hashmap中获取值,java,android,hashmap,Java,Android,Hashmap,当我使用map.put时,我不能从dataF中获取值,如果我替换map.put(“Nos”,dataF);要映射.put(“Nos”,dataF[arrLength]),它可以工作,但返回[Ljava.lang.string;@b1f37df0 ArrayList<HashMap<String,String[]>> ArrList = new ArrayList<HashMap<String,String[]>>(); Inten
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);
ArrayList ArrList=new ArrayList();
Intent=getIntent();
String[]dataF=intent.getStringArrayExtra(“钱”);
ListView list1=(ListView)findViewById(R.id.listView1);
int arrLength=dataF.length;
对于(inti=0;i您尝试放置map.put(“Nos”,dataF[arrLength]);
作为HashMap
但是dataF[arrLength]
是一个字符串,您的HashMap
需要一个Array
字符串
您可以将其更改为:
map.put("Nos", dataF);
如果你解决了这个问题,我想下一行也解决了
使用dataF[arrLength]
必须获得ArrayIndexOutOfBounds
,因为数组的最后一个索引是dataF[arrLength-1]
更新
通过您的评论发言,我认为您尝试显示hashMpa.getValue();
但是您的值是字符串数组,所以您需要显示一个类似hashMpa.getValue()[0];
显示值时需要以下信息:
String[] value = hashMap.getValue();
for ( int i = 0 ; i < value.lenght() ; i++)
Log.d("index "+i , value[i]);
String[]value=hashMap.getValue();
对于(int i=0;i
按如下方式更新代码:
HashMap<String, String[]> map = new HashMap<String, String[]>();
map.put("Nos", dataF); // Pass the Array instead String
ArrList.add(map);
HashMap map=newhashmap();
map.put(“Nos”,dataF);//传递数组而不是字符串
ArrList.add(map);
忽略所有其他内容,我可以向您保证,dataF[arrLength]
除了抛出ArrayIndexOutOfBounds异常外,什么都没有做。当我更改相同的值时,它会显示[Ljava.lang.string;@b1f37df0 not value我猜您是在尝试打印对象,而不是值。请对其使用toString()方法。@FlyzyDevwhen我更改相同的值(map.put(“Nos”,dataF);)它是show[Ljava.lang.string;@b1f37df0不是value你的意思是什么它是show
?你在哪里显示以及如何显示?在我的列表视图中显示[Ljava.lang.string;@b1f37df0相同这张图片你能发布代码吗,因为我认为你只是显示了所有数组,你需要显示它的索引查看我的更新@FlyzyDev