每行具有不同布局的Android Listview?

每行具有不同布局的Android Listview?,android,android-layout,Android,Android Layout,我想创建Listview,在其中我想为所有不同的行创建不同的布局。 那么我如何为不同的行设置不同的布局来创建自定义适配器呢 任何帮助都将不胜感激 提前感谢。创建常规适配器,在“创建视图”功能中,根据行类型展开行xml布局 比如说 @Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = (LayoutInflater) co

我想创建Listview,在其中我想为所有不同的行创建不同的布局。 那么我如何为不同的行设置不同的布局来创建自定义适配器呢

任何帮助都将不胜感激


提前感谢。

创建常规适配器,在“创建视图”功能中,根据行类型展开行xml布局

比如说

@Override   
public View getView(int position, View convertView, ViewGroup parent) {
     LayoutInflater inflater = (LayoutInflater) context
         .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

     if (position % 2 == 0 )
        xml_type = R.layout.row_one
     else
         xml_type = R.layout.row_two

     View rowView = inflater.inflate(xml_type, parent, false);
}

您需要扩展
适配器
,并重写其
getView
方法

@Override
public View getView(int position, View convertView, ViewGroup parent)
{
    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    int resource;

    // Here you set ‘resource’ with the correct layout, for the row
    // given by the parameter ‘position.’
    //
    // E.g.:
    //
    // switch (someArray[position].type) {
    //   case SOME_TYPE_A: resource = R.layout.a; break;
    //   case SOME_TYPE_B: resource = R.layout.b; break;
    //   ...
    // }

    View rowView = inflater.inflate(resource, parent, false);

    // Here you initialize the contents of the newly created view.
    //
    // E.g.:
    // switch (resource) {
    //   case R.layout.a:
    //      TextView aA = (TextView) rowView.findViewById(R.id.aa);
    //      aA.setText("View 1");
    //      ...
    //      break;
    //   case R.layout.b:
    //      TextView bB = (TextView) rowView.findViewById(R.id.bb);
    //      bB.setText("View 2");
    //      ...
    //      break;
    //   ...
    // }

    return rowView;
}
有关适配器以及如何扩展适配器的更多示例,请参阅下面的链接


选中此选项使用带有自定义适配器的自定义listview可以为其提供medemo代码this@ArvindKanjariya . 但是您需要知道如何使用自定义listview和adapter您可以在自定义适配器的getView方法中创建,并通过在其中创建开关大小写来添加所需的动态布局。。。