为单个自定义数组适配器填充多个布局 android
Populate multiple layout for a single cutom array adapter android
可以在 android 中为单个自定义数组适配器填充多个布局。如果不能,我可以更换一个小部件,例如。我列表中不同项目的带有进度条的开关?
或者我是否必须设计几个具有不同布局的不同 ArrayAdapter 类?
是的!可以为 Android.
中的单个自定义数组适配器填充多个布局
拿一个interface
写functions
基于相应的布局你need.Based你可以用不同的布局实现Adapter
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final Item i = (Item) data.get(position);
if (i.isSection1()) {
SectionItem si = (SectionItem) i;
view = vi.inflate(R.layout.list_item_section, null);
}else if(i.isSection2())
{
final ScheduleModel scheduleValues = (ScheduleModel) i;
view = vi.inflate(R.layout.schedule_list_item, null);
}
}
是的,可以在单个适配器中维护多个布局。在标志的基础上维护布局视图很容易。您还可以标记不同的 - 具有相同持有人的 2 个视图,并根据您的要求更新这些视图。
我认为用视图持有者标记多个视图是一个很好的方法。
可以在 android 中为单个自定义数组适配器填充多个布局。如果不能,我可以更换一个小部件,例如。我列表中不同项目的带有进度条的开关?
或者我是否必须设计几个具有不同布局的不同 ArrayAdapter 类?
是的!可以为 Android.
中的单个自定义数组适配器填充多个布局拿一个interface
写functions
基于相应的布局你need.Based你可以用不同的布局实现Adapter
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final Item i = (Item) data.get(position);
if (i.isSection1()) {
SectionItem si = (SectionItem) i;
view = vi.inflate(R.layout.list_item_section, null);
}else if(i.isSection2())
{
final ScheduleModel scheduleValues = (ScheduleModel) i;
view = vi.inflate(R.layout.schedule_list_item, null);
}
}
是的,可以在单个适配器中维护多个布局。在标志的基础上维护布局视图很容易。您还可以标记不同的 - 具有相同持有人的 2 个视图,并根据您的要求更新这些视图。
我认为用视图持有者标记多个视图是一个很好的方法。