2013-01-22 4 views
-1

Je suis en train d'énumérer toutes les valeurs de carte de hachage comme ceci:Android HashMap à ListView

Item1 valeur1 item2 valeur2 . . . Pour cela, je passe la hashmap à une autre activité, et sur une autre activité; je fais des choses comme ceci:

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.orneksayisi); 
     listV=(ListView)findViewById(R.id.listView1); 
     ourMap=(HashMap<String, Integer>) getIntent().getSerializableExtra("ornekMap"); 
     String[] from = { "aktivite", "sayi" }; 
     int[] to = { android.R.id.text1, android.R.id.text2 }; 

     ArrayList<Map<String, String>> list = buildData(); 
     SimpleAdapter adapter = new SimpleAdapter(this, list, 
       android.R.layout.simple_list_item_1, from, to); 
      listV.setAdapter(adapter); 
    } 

    public ArrayList<Map<String,String>> buildData(){ 
     ArrayList<Map<String, String>> list = new ArrayList<Map<String, String>>(); 

     list.add(putData("durus",ourMap.get("durus").toString())); 
     list.add(putData("kosma",ourMap.get("kosma").toString())); 
     list.add(putData("yurume",ourMap.get("yurume").toString())); 
     list.add(putData("dusme",ourMap.get("dusme").toString())); 
     list.add(putData("inme",ourMap.get("inme").toString())); 
     list.add(putData("cikma",ourMap.get("cikma").toString())); 

     return list; 
    } 

    private HashMap<String, String> putData(String name, String value) { 

     HashMap<String, String> item = new HashMap<String, String>(); 
     item.put("aktivite", name); 
     item.put("sayi", value); 
     return item; 
     } 

lorsque je tente cela, il montre que les valeurs « clés » pas les émissions en face valeur (une colonne) .Comment peut i afficher deux valeurs (clé, valeur) dans une rangée?

Répondre

2

Comment puis-je afficher deux valeurs (clé, valeur) dans une rangée?

Vous devez utiliser une mise en page qui affiche plusieurs entrées, essayez d'utiliser android.R.layout.simple_list_item_2.

SimpleAdapter adapter = new SimpleAdapter(this, list, 
     android.R.layout.simple_list_item_2, from, to); 

(ou écrivez votre propre mise en page.)