2012-04-04 1 views
0

만들기? 사용자 정의 어댑터는 baseadapter를 확장해야합니다. 키와 값을 결합해야 "KEY + VALUE", "KEY + VALUE"...와 같이 보이고이를 배열 VALUES에 할당하십시오. VALUES 배열은 나중에 사용자 정의 적응기를 괄호 할 때 사용됩니다.사용자 정의 hashmapadapter

인스턴스화은 다음과 비슷한 모습이 될 것 코드가 큰 도움이 될 것입니다, 그래서

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

여기 손실입니다.

THANKS 그레이엄

다음은 그 소스로서 항목이라는 문자열 배열을 사용한다. 항목 내가 사용을 중지하고 대신 내 해시 맵

그래서 대신 사용자로부터 연결된 키 + 값 쌍을 사용하기 시작하고 싶습니다 문자열 배열 그가 될 것이다 항목의 목록이 제공되고 있지만

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

해시 맵에서 가져온 키 + 값 쌍 목록 hm

+0

난 정말 당신이 ... 뭘 하려는지 이해가 안 돼요 당신은 단지 내 대답에 코드를 사용해야합니다. 이 [링크] (http://stackoverflow.com/questions/5234576/what-adapter-shall-i-use-to-use-hashmap-in-a-listview)를보십시오. – Ant4res

답변

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); 
+0

안녕하세요, 지금은 더 좋아 보이지만 내 목록에는 0 = num1 ....이 표시됩니다. 다음 해시 맵 hm.put ("one", "Apple") 값을 채 웁니다. hm.put ("two", "Mango"); hm.put ("three", "Grape"); 값과 키는 요소에 집중해야합니다. – user803271

+0

FIGURED IT OUT (int i = 0; i <= 10; i ++) {hm.put (1, "Apple"); hm.put (2, "망고"); hm.put (3, "포도"); hm.put (4, "Orange"); hm.put (5, "Peach"); } for (Entry e : hm.entrySet()) {String newString = e.toString(); elements.add (newString); } – user803271

+0

목록에 어떻게 표시 하시겠습니까? 애플, 망고, 포도 만? 이를 위해서'e.getValue(). toString()'을 사용하여'e.toString()'만 변경하면됩니다. – Ant4res

관련 문제