Ошибка Android, когда я пытаюсь поставить массив, который содержит картув строку для моего авто завершено - PullRequest
0 голосов
/ 10 марта 2012
public ArrayList<HashMap<String,String>> c_tmp= new ArrayList<HashMap<String,String>>();
public HashMap<String,String>mapa=new HashMap<String, String>();
String[] name_Val = null;

//i fill the map and the array list in a while()

mapa.put(numberz,nnn);
c_tmp.add(mapa);

и возникает ошибка (принудительное закрытие) при попытке заполнить следующую строку name_Val = ....

name_Val = (String[]) c_tmp.toArray(new String[c_tmp.size()]);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,name_Val);
txtPhoneName.setAdapter(adapter);

/// Я пишу эту строку неправильно (потому что яскопировал его из ArrayList<String>)

Ответы [ 2 ]

0 голосов
/ 11 марта 2012

Вы должны попытаться сделать это сначала с картой, а затем при инициализации, затем с хэш-картой и использовать простой адаптер

mAdapter = new SimpleAdapter(this, peopleList, R.layout.row ,new String[] 
           { "Name", "Phone"  }, new int[] { R.id.text1, R.id.text2  });
txtPhoneName.setAdapter(mAdapter);

Но прежде всего в другой функции заполните список людей ...

0 голосов
/ 10 марта 2012

Я хотел бы предложить, вы можете просто использовать тип данных HashMap<String,String>, поскольку у карты есть свойство добавления values для unique key

После того, как вы закончили с сохранением данных в hashmap, вы можете использовать Iterator для итерации и получить все ключи от HashMap и, следовательно, Values от всех тех ключей, которые должны храниться в ArrayList, а затем преобразование его в String Array не станет для вас проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...