Ho un HashMap<String,String>
e c'è un metodo statico che restituisce questa mappa a Activity
.Come ordinare HashMap come aggiunto in Android con ArrayAdapter
metodo è simile al seguente:
public static HashMap<String, String> getAll() {
HashMap<String, String> map = new HashMap<String,String>();
map.put("ab", "value1");
map.put("bc", "value2");
map.put("de", "value3");
return map;
}
voglio usare quella mappa con un filatore. Quindi, l'attività si presenta così:
List list = new ArrayList<String>();
HashMap<String, String> map = Constants.getAll();
for (String key : map.keySet()) {
list.add(Constants.getAll().get(key).toString());
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinTest = (Spinner)findViewById(R.id.spinTest);
spinTest.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
urlDebug.setText(list.get(arg2).toString());
}
public void onNothingSelected(AdapterView<?> arg0) {
}
});
spinTest.setAdapter(adapter);
Quando ho provato a correre la mia domanda, nessun problema a tutti. Ma quando ho cliccato su spinner, elementi non ordinati come ho aggiunto sul metodo getAll(). Voglio dire, l'ordine deve essere ab-bc -de ma è ordinato a caso.
Che cosa non è vero?
Ora ordini come aggiungo, grazie. –
Oppure, usa solo una TreeMap. È quello che è lì per te lo sai. – Jens
Hai appena salvato le mie ore! –