При попытке заполнить элементы в ListView по результатам оператора switch я сталкиваюсь с некоторой ошибкой. Приложение принудительно закрывается внутри эмулятора, и когда я запускаю его через отладчик Eclipse, он показывает, что основной поток завис из-за исключения IllegalStateException.
Кроме того, что означает очевидное, что он вошел в какое-то неправильное состояние, как мне это исправить? Я пытаюсь сделать все это изнутри OnItemClickListener, чтобы при щелчке по элементу оператор switch оценивал, какой элемент был нажат, а затем назначал соответствующий ListAdapter для ListView в зависимости от результата переключения. Это правильный путь? И если да, то что в моем коде ниже выдает ошибку?
final ListView lv = (ListView) findViewById(R.id.main_list);
final String[] autos = getResources().getStringArray(R.array.auto_array);
final ListAdapter la_auto = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_2, autos);
И затем дальше в части, касающейся слизистого фильтра
gallery.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView parent, View v, int position, long id)
{
switch(gallery.getSelectedItemPosition())
{
case 0:
lv.setAdapter(la_auto);
break;
РЕДАКТИРОВАТЬ: трассировка стека LogCat останавливается на этой ошибке: «Вы должны предоставить идентификатор ресурса для TextView, и стек завис в этой точке: ArrayAdapter.createViewFromResource (int, View, ViewGroup, int) строка: 347
Есть предложения? Я предполагаю, что это как-то связано с параметрами, которые я передаю методу onItemClicked.