Android-android listview进行分组显示的时候显示数据的问题,listview在getView()方法里可以设置setTag( ),getTag

Android-android listview进行分组显示的时候显示数据的问题,listview在getView()方法里可以设置setTag( ),getTag

夜无邪 发布于 2017-01-08 字数 1811 浏览 1109 回复 3

android listview进行分组显示的时候显示数据的问题,listview在getView()方法里可以设置setTag( ),getTag,来增加效率,当分组显示数据的时候我如何去设置getTag()和setTag()呢

public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
LayoutInflater inflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

SearchItemView mItem;
mItem= new SearchItemView();
//judge the item content is to be contains of tag
if (tagSearchResultList.contains(searchResultList.get(position))) {
convertView = inflater.inflate(R.layout.search_list_items_tag, null);
mItem.search_pageIndex = (TextView) convertView.findViewById(R.id.search_page_tv);
mItem.search_pageCount = (TextView) convertView.findViewById(R.id.search_curpage_count);
} else {
convertView = inflater.inflate(R.layout.search_list_items_content, null);
mItem.search_content = (TextView) convertView.findViewById(R.id.search_content_tv);
}
}

if (tagSearchResultList.contains(searchResultList.get(position))) {
mItem.search_pageIndex.setText("Page"+(searchResultList.get(position).mPageIndex+1));
mItem.search_pageCount.setText(searchResultList.get(position).mPatternStart+"");
} else {
//make the key word to be red
String mContent = searchResultList.get(position).mSentence;
mItem.search_content.setText(SearchContent);

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

泛泛之交 2017-03-29 3 楼

可以尝试一下在 convertView 非空的时候 getTag 然后强制类型转给 mItem
如果是 null 在去 inflate 实例化什么的,最后加上 setTag(mItem); 即可

可参考 http://www.cnblogs.com/mybkn/archive/2012/05/22/2512491.html

祝好,
斑驳敬上

泛泛之交 2017-03-13 2 楼

设置一个ArrayList记录每个position的view类型,viewholder根据类型的不同定义多个。
getView() 即可通过判断position的类型获得不同的viewholder

夜无邪 2017-02-14 1 楼

直接使用final就可以了,没必要再setTag