public ArrayList<HashMap<String,String>> c_tmp= new ArrayList<HashMap<String,String>>();
public HashMap<String,String>mapa=new HashMap<String, String>();
String[] name_Val = null;
//i fill the map and the array list in a while()
mapa.put(numberz,nnn);
c_tmp.add(mapa);
并且在尝试填充下一行name_Val = ....
时发生错误(强制关闭)name_Val = (String[]) c_tmp.toArray(new String[c_tmp.size()]);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,name_Val);
txtPhoneName.setAdapter(adapter);
///我写的那行是错的(因为我是从ArrayList<String>
复制的)
答案 0 :(得分:0)
我建议您使用HashMap<String,String>
数据类型,因为地图具有为values
unique key
的属性
完成将数据存储到hashmap
后,您可以使用Iterator
进行迭代,并从HashMap
获取所有密钥,从而获取所有密钥Values
那些存储在ArrayList
中,然后将其转换为String Array
的密钥对您来说不是问题。
答案 1 :(得分:0)
您应该首先尝试使用地图,然后在初始化时使用哈希地图,并使用简单的适配器
mAdapter = new SimpleAdapter(this, peopleList, R.layout.row ,new String[]
{ "Name", "Phone" }, new int[] { R.id.text1, R.id.text2 });
txtPhoneName.setAdapter(mAdapter);
但是在另一个函数之前填充人员列表......