对于每一个项目的android列表视图不同的看法视图、看法、不同、项目

2023-09-03 21:37:28 作者:情癌晚期i

下面是用于获取视图为列表项目的一块code。 我想用不同的观点对列表视图中的每一行,我该怎么办呢?任何好的教程?

 公开查看getView(INT位置,查看convertView,
                ViewGroup中父){
            查看排= convertView;
            ResultWrapper包装;

            如果(行== NULL){
                LayoutInflater充气= getLayoutInflater();
                行= inflater.inflate(R.layout.result_row,NULL);
                包装=新ResultWrapper(行);
                row.setTag(包装);
            }
            其他 {
                包装=(ResultWrapper)row.getTag();
            }
            wrapper.populateFrom(model.get(位置));
            wraperList.add(包装);
            返回(行);
        }
    }
 

解决方案

您将需要一个一般比较复杂适配器。特别是,你需要重写 getViewTypeCount() getItemViewType()。你可以看看我的 SackOfViewsAdapter 因为这样做的一种方式这对短名单,还是我的 MergeAdapter 掺混个别意见的数据库或Web服务查询的结果。

Android中的自定义组件和android的动画

Below is the piece of code which is used to get view for the list item. I want to use different view for every row of listview, how can I do it? Any good tutorials?

public View getView(int position, View convertView,
                ViewGroup parent) { 
            View row=convertView;
            ResultWrapper wrapper;

            if (row==null) {        
                LayoutInflater inflater=getLayoutInflater();
                row=inflater.inflate(R.layout.result_row, null);
                wrapper=new ResultWrapper(row);
                row.setTag(wrapper);
            }
            else {
                wrapper=(ResultWrapper)row.getTag();
            } 
            wrapper.populateFrom(model.get(position));
            wraperList.add(wrapper);
            return(row);
        }
    }

解决方案

You will need a generally more complicated Adapter. In particular, you need to override getViewTypeCount() and getItemViewType(). You can take a look at my SackOfViewsAdapter as a way of doing this for short lists, or my MergeAdapter for blending individual views with the results of database or Web service queries.