使用自定义适配器的ListView中的自定义行

斯特凡

我制作了以下适配器,以前使用它来创建始终相同的行。我删除了textviews和imageviews的创建。

我要实现的是根据键创建不同的行。一行可以包含文本和图像,而另一行仅包含文本。我将如何做到这一点?

public class DetailsListAdapter extends ArrayAdapter<ArrayList<String>> {
    private Context context;
    private ArrayList<String> keys;

    public DetailsListAdapter(Context context, ArrayList<String> keys) {
        super(context,R.layout.details); 
        this.context = context;
        this.keys = keys;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View v = inflater.inflate(R.layout.details, null);      
        return v;
    }

    @Override
    public int getCount(){
        return keys.size();
    }
}
拉贡南丹

要为行添加不同的布局,您需要覆盖getViewItemTypegetViewTypeCount

您应该看一下链接中的视频。

http://www.youtube.com/watch?v=wDBM6wVEO70

private static final int TYPE_ITEM1 = 0;
private static final int TYPE_ITEM2 = 1;
private static final int TYPE_ITEM3 = 2; 

然后

int type;
@Override
public int getItemViewType(int position) {

    if (position== 0){
        type = TYPE_ITEM1;
    } else if  (position == 1){
        type = TYPE_ITEM2;
    }
    else
    {
         type= TYPE_ITEM3 ;
    }
    return type;
}

 @Override
 public int getViewTypeCount() {
        return 3; 
 }
@Override  
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
LayoutInflater inflater = null;
int type = getItemViewType(position);
  // instead of if else you can use a case
   if (convertView == null) {
    if (type == TYPE_ITEM1 {
            //infalte layout of type1
           convertView = mInflater.inflate(R.layout.layouttype1, 
                         parent, false);
      }
    if (type == TYPE_ITEM2) {
            //infalte layout of type2
           convertView = mInflater.inflate(R.layout.layouttype2, 
                         parent, false);
    }  else {
            //infalte layout of normaltype
            convertView = mInflater.inflate(R.layout.layouttype3, 
                         parent, false);
 }
 ...// rest of the code
    return convertView;
} 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ListView的自定义适配器

来自分类Dev

自定义ListView的适配器

来自分类Dev

自定义ListView适配器中的NullPointerException

来自分类Dev

在自定义适配器中遍历ListView

来自分类Dev

使用自定义适配器过滤ListView

来自分类Dev

使用自定义适配器从listview搜索项目

来自分类Dev

使用自定义适配器未显示ListView

来自分类Dev

Android Studio中带有自定义适配器的自定义ListView

来自分类Dev

setOnClickListener不使用自定义适配器和自定义ListView触发

来自分类Dev

使用自定义适配器中的自定义ArrayList <MyOwnParseClass>在ListView中设置ParseFile图像

来自分类Dev

使用自定义数组适配器,ListFragment中的项目不会显示在Listview中

来自分类Dev

使用自定义数组适配器,ListFragment中的项目不会显示在Listview中

来自分类Dev

如何使用自定义适配器将项目自动加载到ListView中

来自分类Dev

使用自定义适配器时如何从Android中的ListView获取数据

来自分类Dev

回到活动中时,使用自定义基本适配器更新Listview吗?

来自分类Dev

ContextMenu 无法使用自定义适配器从 ListView 中删除行

来自分类Dev

ListView自定义适配器丢失imageView

来自分类Dev

自定义适配器显示RuntimeException-ListView

来自分类Dev

自定义listview适配器上的OnclickListner

来自分类Dev

ListView自定义适配器重复项

来自分类Dev

自定义基础适配器到ListView

来自分类Dev

Android ListView onClickListener自定义适配器

来自分类Dev

ListView自定义适配器丢失imageView

来自分类Dev

Android自定义ListView /适配器

来自分类Dev

Android ListView onItemclick以及自定义适配器

来自分类Dev

自定义适配器的问题

来自分类Dev

片段中的自定义阵列适配器

来自分类Dev

如何在Android中自定义适配器?

来自分类Dev

在RecyclerView适配器中设置自定义字体

Related 相关文章

  1. 1

    ListView的自定义适配器

  2. 2

    自定义ListView的适配器

  3. 3

    自定义ListView适配器中的NullPointerException

  4. 4

    在自定义适配器中遍历ListView

  5. 5

    使用自定义适配器过滤ListView

  6. 6

    使用自定义适配器从listview搜索项目

  7. 7

    使用自定义适配器未显示ListView

  8. 8

    Android Studio中带有自定义适配器的自定义ListView

  9. 9

    setOnClickListener不使用自定义适配器和自定义ListView触发

  10. 10

    使用自定义适配器中的自定义ArrayList <MyOwnParseClass>在ListView中设置ParseFile图像

  11. 11

    使用自定义数组适配器,ListFragment中的项目不会显示在Listview中

  12. 12

    使用自定义数组适配器,ListFragment中的项目不会显示在Listview中

  13. 13

    如何使用自定义适配器将项目自动加载到ListView中

  14. 14

    使用自定义适配器时如何从Android中的ListView获取数据

  15. 15

    回到活动中时,使用自定义基本适配器更新Listview吗?

  16. 16

    ContextMenu 无法使用自定义适配器从 ListView 中删除行

  17. 17

    ListView自定义适配器丢失imageView

  18. 18

    自定义适配器显示RuntimeException-ListView

  19. 19

    自定义listview适配器上的OnclickListner

  20. 20

    ListView自定义适配器重复项

  21. 21

    自定义基础适配器到ListView

  22. 22

    Android ListView onClickListener自定义适配器

  23. 23

    ListView自定义适配器丢失imageView

  24. 24

    Android自定义ListView /适配器

  25. 25

    Android ListView onItemclick以及自定义适配器

  26. 26

    自定义适配器的问题

  27. 27

    片段中的自定义阵列适配器

  28. 28

    如何在Android中自定义适配器?

  29. 29

    在RecyclerView适配器中设置自定义字体

热门标签

归档