0

以下を含むハッシュマップがある場合:

Hashmap contains (String, String)

カスタムアダプタをインスタンス化するにはどうすればよいですか?カスタムアダプタはbaseadapterを拡張する必要があります。「KEY+VALUE」、「KEY + VALUE」のように見えるように、キーと値の両方を組み合わせる必要があります...そしてこれを配列VALUESに割り当てます。配列VALUESは、後でカスタムアダプターをインスタンス化するときに使用されます。

インスタンス化は次のようになります。

MyCustomAdapter adapter = new MyCustomAdapter(this, android.R.layout.simple_list_item_1, VALUES);   
setListAdapter(adapter)

私はここで迷子になっているので、コードは大きな助けになるでしょう。

ありがとうグラハム

次のリストは、データソースとしてitemsという文字列配列を使用しています。

public ArrayList<String> myList = new ArrayList<String>(Arrays.asList(items)); 

ただし、itemsは文字列配列であり、使用を停止し、代わりにハッシュマップから連結されたキーと値のペアの使用を開始します

したがって、ユーザーにアイテムのリストが表示される代わりに、ハッシュマップhmから取得されたキーと値のペアのリストが表示されます。

4

1 に答える 1

1

カスタムアダプタを使用する必要はないと思います。レイアウトは非常に単純で、必要なのはtextViewだけなので、ArrayAdapterを使用できます。あなたの例のためにあなたはすることができます:

HashMap<Integer,String>hm=new HashMap<Integer,String>();
Vector<String>elements=new Vector<String>();
 for(int i=0; i<=10;i){      
      hm.put(i,("num"+i));
    }
    for (Entry<Integer, String> e : hm.entrySet()) {
        String newString=e.toString();
        elements.add(newString);
    }
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, elements);
    list.setAdapter(adapter);
于 2012-04-04T08:51:56.953 に答える