У меня есть список и адаптер массива. Я хочу передать массив и создать список. Все идет нормально. Теперь следующая вещь, которую я хочу сделать, - добавить другой ресурс массива ниже уже созданного списка. Я не могу объединить два массива, потому что они должны иметь разные макеты. Есть ли способ достичь этого?Могу ли я добавить различные макеты в один список?
0
A
ответ
1
да вы можете
первую очередь вам нужно создать новый класс, который расширяет ArrayAdapter и переопределить метод GetView
class MyAdapter extends ArrayAdapter {
public MyAdapter(Context context,ArrayList<MyClass> myarray) {
super(context,R.layout.yourlayout,myarray);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
/*this is also called when creating for the first time or once any view (row) is visible again */
View view=null;
MyClass object=(MyClass)getItem(position);
//if true than choose the first layout
if (object.layout1 == true) {
view=LayoutInflater.from(getContext()).inflate(R.layout.yourlayout1,
parent, false);
}else if(object.layout2==true){
view=LayoutInflater.from(getContext()).inflate(R.layout.yourlayout2,
parent, false);
}
}
и теперь вы должны иметь класс, например под названием MyClass содержит
public class MyClass{
public boolean layout1;
public boolean layout2;
}
так что, когда вы добавляете элемент в адаптер, вы добавляете объект MyClass, и все, что вам нужно сделать, это установить значения логического layout1 и layout2 в истинным или ложным, чтобы узнать, какой макет вы хотите выбрать
и чем пример добавления нового элемента в adpater, который вы хотите ему выбрать Layout2 является:
MyClass object=new MyClass();
object.layout1=false;
object.layout2=true;
//setting listview adpater
MyListView.setAdapter(new MyAdapter(this,new ArrayList<MyClass>()));
Myadapter.add((Object)object);
Смежные вопросы
- 1. Различные макеты в viewpager
- 2. Как добавить различные макеты в BaseAdapter?
- 3. Могу ли я добавить список переменных AS
- 4. Recyclerview 2 Различные макеты
- 5. PlantUML различные макеты
- 6. Rails: различные макеты
- 7. Могу ли я добавить различные штрихи к холсту в массив?
- 8. Могу ли я добавить список в список списков?
- 9. Как я могу вернуться в один список?
- 10. Могу ли я добавить формулу в «Проверка данных», «Разрешить», «Список»?
- 11. Vue-js и различные макеты
- 12. Могу ли я добавить Stack в ArrayList (или связанный список)?
- 13. Как добавить различные макеты/элементы в навигационном ящике?
- 14. Различные макеты в зависимости от флажка
- 15. Могу ли я добавить кнопку?
- 16. Рефакторинг маршруты - обслуживающих различные макеты
- 17. ASP.NET Различные макеты в пределах 1 сайта
- 18. Как отображать различные макеты с помощью ViewPager?
- 19. Как создать различные макеты в Rails
- 20. Различные макеты для уровней журнала в Log4j
- 21. Могу ли я добавить несколько трансляционных анимаций в один AnimationSet
- 22. Могу ли я добавить несколько полей в один атрибут
- 23. Могу ли я добавить один вид в другой?
- 24. Могу ли я добавить пользователя в один репозиторий организации?
- 25. Как различные макеты в удивительной работе?
- 26. Добавить различные состояния объектов в список
- 27. Различные макеты внутри карточекИнтернет-библиотека для библиотек
- 28. Есть ли лучший способ показать различные макеты в Android?
- 29. Могу ли я добавить более 1 миллиона строк в список?
- 30. android - Могу ли я добавить расширяемый список в диалоге?