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

发布于 2017-01-08 20:49:11 字数 1762 浏览 1247 评论 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);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

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

评论(3

泛泛之交 2017-03-29 19:24:22

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

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

祝好,
斑驳敬上

泛泛之交 2017-03-13 13:57:32

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

夜无邪 2017-02-14 14:06:31

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文