我想根据下一个条件膨胀布局:
if (...) {
view = inflater.inflate(R.layout.customer_menu_item, null);
}
else {
view = inflater.inflate(R.layout.customer_menu_index, null);
view = inflater.inflate(R.layout.customer_menu_item, null);
}
布局customer_menu_index
用于将索引字母插入菜单列表。第二个布局插入基本菜单项。
如何在一次调用BaseAdapter
中包含的getView(int position, View convertView, ViewGroup parentView)
方法时膨胀两个不同的布局
我不知道这是否会解决你的目的,但你不能实现一个包含两个布局的xml文件。然后你可以修改它们的可见性,比如
view = inflater。充气("the_layout_from_your_xml",null);
如果(…){ view.finViewByID(R.id.customer_menu_index).setVisibility(false);
其他} {
view.finViewByID(R.id.customer_menu_index).setVisibility(true);
}
这对你有用吗?
除了设备内存之外,您可以调用如何在一次调用
BaseAdapter
中包含的getView(int position, View convertView, ViewGroup parentView)
方法时膨胀两个不同的布局?
inflate()
的次数没有限制。然而,你的else块会立即覆盖view
的第一个值,所以考虑使用一个不同的变量。
如果你计划使用多行布局,你必须覆盖getItemViewType()
和getViewTypeCount()
方法,否则你会看到不稳定的行为,而滚动你的ListView, Spinner等