是否可以夸大更多布局?

时间:2013-01-11 00:24:37

标签: android user-interface

我想根据下一个条件来扩充布局:

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的一次调用中夸大两种不同的布局。

2 个答案:

答案 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等时会看到不稳定的行为。