联系我们 - 广告服务 - 联系电话:
您的当前位置: > 综合 > > 正文

今日要闻!ListView怎么优化?ListView的四种优化方式

来源:CSDN 时间:2023-04-03 11:25:53


(相关资料图)

ListView的四种优化方式

优化方式一:

convertView的复用

代码如下:

@Overridepublic View getView(int position, View convertView, ViewGroup parent) {    if (convertView == null) {//如果当前的convertView为null,则通过inflate产生一个view    convertView = View.inflate(context, R.layout.layout_pic_item,null);    }    TextView tvDis = (TextView) convertView.findViewById(R.id.tv_item_picture_desc);    tvDis.setText("设置数据");    return convertView;}

优化方式二:

ViewHolder的使用

需要用到两个方法:setTag和getTag方法:

@Override    public View getView(int position, View convertView, ViewGroup parent) {        ViewHolder holder;        View itemView = null;        if (convertView == null) {            itemView = View.inflate(context, R.layout.item_news_data, null);            holder = new ViewHolder(itemView);            //用setTag的方法把ViewHolder与convertView "绑定"在一起            itemView.setTag(holder);        } else {    //当不为null时,我们让itemView=converView,用getTag方法取出这个itemView对应的holder对象,就可以获取这个itemView对象中的组件            itemView = convertView;            holder = (ViewHolder) itemView.getTag();        }        NewsBean newsBean = newsListDatas.get(position);        holder.tvNewsTitle.setText(newsBean.title);        holder.tvNewsDate.setText(newsBean.pubdate);        mBitmapUtils.display(holder.ivNewsIcon, newsBean.listimage);        return itemView;    }}public class ViewHolder {@ViewInject(R.id.iv_item_news_icon)    private ImageView ivNewsIcon;// 新闻图片    @ViewInject(R.id.tv_item_news_title)    private TextView tvNewsTitle;// 新闻标题    @ViewInject(R.id.tv_item_news_pubdate)    private TextView tvNewsDate;// 新闻发布时间    @ViewInject(R.id.tv_comment_count)    private TextView tvCommentIcon;// 新闻评论    public ViewHolder(View itemView) {        ViewUtils.inject(this, itemView);    }}

责任编辑:

标签:

相关推荐:

精彩放送:

新闻聚焦
Top