下面是用于获取视图为列表项目的一块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服务查询的结果。
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.