2012-03-09 5 views
0
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を埋めようと= ....アンドロイドエラー私は地図の<string、string>を含む配列を入れてみてください完全

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>からそれをコピーしたので)///私はマップが追加の性質を持っているとして、あなたは、単にHashMap<String,String>データ型を使用することができ、私は示唆している何が間違っ

+0

その行にExceptionを表示することができればよいでしょう。 –

+0

申し訳ありませんが、私はまだdebbugerで例外の名前を調べる場所がわかりません... – Tony

+0

java.lang.ArrayStoreException:型Ljava/util/HashMapのソース[0]です。タイプ[Ljava/lang/String;]の宛先配列に格納することはできません。 おそらくこれは? – Tony

答えて

0

あなたはマップで最初にそれを行うようにしてください、あなたはマップをハッシュする、それを初期化する際に、簡単なアダプタ

mAdapter = new SimpleAdapter(this, peopleList, R.layout.row ,new String[] 
      { "Name", "Phone" }, new int[] { R.id.text1, R.id.text2 }); 
txtPhoneName.setAdapter(mAdapter); 

を使用しかし、すべて別の関数に人のリストを作成する前に...

0

をその行をされて書いていますvalues(​​)

あなたがArrayListに格納され、その後に変換されなければならないすべてのそれらのキーからhashmapあなたがHashMapからすべてのキーを反復して取得するためにIteratorを使用することができますので、Valuesにデータを格納して行われた後、あなたのString Arrayはあなたにとって問題ではありません。

+0

Iamは申し訳ありませんでした。本当にそれを得ることはできませんでした。私はinitializin mapa = new Map ();それはエラーが表示され、それは私がhashmapに変更する理由です。 – Tony

関連する問題