Как сделать более одного TextView в ячейке ListView

Рейтинг: 4Ответов: 1Опубликовано: 16.02.2015

Делаю через ArrayAdapter, но в нем получается применить только к одной item_list.

Код неправильный, но все же:

 List<String> namelist = new ArrayList<String>();
 List<String> streetlist = new ArrayList<String>();

                    for(int i=0;i<jsonArray.length();i++)
                    {
                        JSONObject jsonObject1=jsonArray.getJSONObject(i);
                        namelist.add(jsonObject1.get("name").toString());
                        streetlist.add(jsonObject1.get("adres").toString());
                    }

   ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
                            R.layout.item_list_service, R.id.item_text_service, namelist);

   ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(getActivity(),
                            R.layout.item_list_service, R.id.item_text_street_service, streetlist);
   mDrawerList.setAdapter(adapter);
   mDrawerList.setAdapter(adapter2);

Ответы

▲ 1

для реализации двух текстовых полей в айтеме ListView вовсе не обязательно делать свой кастомный адаптер - стандартный SimpleAdapter (SimpleCursorAdapter) отлично с этим справляется , так же он позволяет еще и картинку разместить . Есть и пара-тройка вариантов стандартной разметки в фреймворке Android под это дело , вроде simple_list_item_2.xml / Часто проще и рациональнее воспользоваться готовыми инструментами , чем дублировать имеющююся функциональность увеличивая код .

в качестве примера