I have a HashMap<String,String>
, and have a static method that returns this map in Activity
.
The method is as follows:
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; }
I want to use this card with a counter. Thus, the activity is as follows:
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);
When I tried to run the application, no problem. But when I clicked on spinner, elements that were not ordered when I added the getAll () method. I mean, the order must be ab-bc -de, but it is ordered randomly.
What's wrong?
source share