0

我想根据下一个条件膨胀布局:

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.

4

2 回答 2

1

我不知道这是否能解决你的目的,但你不能实现一个包含两种布局的 xml 文件。然后你可以操纵他们的可见性,比如,

view = inflater.inflate("the_layout_from_your_xml", null);

如果 (...){

   view.finViewByID(R.id.customer_menu_index).setVisibility(false);

} 别的{

   view.finViewByID(R.id.customer_menu_index).setVisibility(true);

}

那对你有用吗?

于 2013-01-11T05:03:51.077 回答
0

如何getView(int position, View convertView, ViewGroup parentView)BaseAdapter.

inflate()除了设备的内存之外,您可以调用多少次没有限制。但是,您的 else 块会立即覆盖的第一个值,view因此请考虑使用不同的变量。

如果您计划使用多行布局,则必须覆盖getItemViewType()andgetViewTypeCount()方法,否则您将在滚动 ListView、Spinner 等时看到不稳定的行为。

于 2013-01-11T00:30:16.737 回答