2015-02-03 6 views
1

В моем приложении я могу использовать только один макет для каждого элемента списка в каждой строке. Это не то, что я хочу для моего приложения, и я хотел бы иметь разный макет для каждого из элементов списка.Android, как использовать разные макеты для каждого элемента списка.

В качестве примера того, чего я хотел бы достичь, см. Снимок экрана ниже.

different layout each listview items

+1

создать две разные строки в xml. В вашем пользовательском классе адаптера используйте держатель вида для хранения завышенных объектов, выберите строки в соответствии с вашими потребностями в адаптере. –

ответ

1

Вы можете сделать это с помощью андроид Listview BaseAdapter. В методе getAd BaseAdapter вы можете добавить такой код.

public View getView(final int position, View convertView, ViewGroup parent) { 
     if(item1 or your condition) 
     { 
      convertView=inflater.inflate(R.layout.from_right_row.xml, parent, false); 
     }else if(item2 or your condition) { 
      convertView=inflater.inflate(R.layout.from_left_row.xml, parent, false); 
     } 

     return convertView; 
    } 
+0

Это не лучший способ раздуть виды. Избегайте передачи null в качестве родительского представления. –

Смежные вопросы