我想根据下一个条件来扩充布局:
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
用于将索引字母插入菜单列表。第二个布局插入基本菜单项。
如何在getView(int position, View convertView, ViewGroup parentView)
中包含的方法BaseAdapter
的一次调用中夸大两种不同的布局。
答案 0 :(得分:1)
我不知道这是否会解决您的目的,但是您无法实现包含这两种布局的xml文件。然后你可以像他们一样操纵他们的能见度,
view = inflater.inflate(“the_layout_from_your_xml”,null);
if(...){
view.finViewByID(R.id.customer_menu_index).setVisibility(false);
}其他{
view.finViewByID(R.id.customer_menu_index).setVisibility(true);
}
这对你有用吗?
答案 1 :(得分:0)
如何在
getView(int position, View convertView, ViewGroup parentView)
中包含的方法BaseAdapter
的一次调用中夸大两种不同的布局。
除设备的内存外,您可以拨打inflate()
的次数没有限制。但是,您的else阻止会立即覆盖view
的第一个值,因此请考虑使用其他变量。
如果您打算使用多行布局,则必须覆盖getItemViewType()
和getViewTypeCount()
方法,否则在滚动ListView,Spinner等时会看到不稳定的行为。