如何在同一个listView中使用不同的android.R.layout

时间:2016-12-30 12:26:11

标签: android android-layout android-studio android-fragments

我不能在同一个listView中使用不同的布局 使用默认的ArrayAdapter 等,

enter image description here

2 个答案:

答案 0 :(得分:0)

您需要创建自定义列表视图,并且在列表适配器的getView()方法中,您可以使用if条件检查位置并夸大所需的布局。 例如:

if(position==2){
        LayoutInflater inflater = LayoutInflater.from(context);
        convertView = inflater.inflate(R.layout.your_layout1, null);
}else if(position==5){
        LayoutInflater inflater = LayoutInflater.from(context);
        convertView = inflater.inflate(R.layout.your_layout2, null);
}

对于自定义ListView,您可以查看本教程: Link

答案 1 :(得分:0)

您不需要自定义列表视图。

您有多种选择,包括:

  1. 使用相同的布局,只隐藏您不想显示的元素。
  2. 实施view holder pattern并使用不同的观点。
  3. 您也可以使用RecyclerView,我建议。