Unconditional layout, inflation from view adapter: Should use View Holder pattern

后端 未结 5 1823
天命终不由人
天命终不由人 2020-12-08 13:33

I am getting following warning in eclipse:

Unconditional layout inflation from view adapter: Should use View Holder pattern (use recycled view passed

5条回答
  •  情歌与酒
    2020-12-08 13:55

    My suggestion is try to use convertView = vi.inflate(R.layout.activity_friend_list_row, null); insted of convertView = vi.inflate(R.layout.activity_friend_list_row, parent, false); this may help you.

    :- okey.. insted of accessing like this TextView friendsname = (TextView) convertView.findViewById(R.id.friendsName); // title ImageView thumb_image = (ImageView) convertView.findViewById(R.id.list_image); // thumb image you have to use viewholder class in your adapter

    for example

    static class ViewHolder {
        public TextView text;
        public ImageView image;
      }
    
      @Override
      public View getView(int position, View convertView, ViewGroup parent) {
        View rowView = convertView;
        // reuse views
        if (rowView == null) {
          LayoutInflater inflater = context.getLayoutInflater();
          rowView = inflater.inflate(R.layout.rowlayout, null);
          // configure view holder
          ViewHolder viewHolder = new ViewHolder();
          viewHolder.text = (TextView) rowView.findViewById(R.id.TextView01);
          viewHolder.image = (ImageView) rowView
              .findViewById(R.id.ImageView01);
          rowView.setTag(viewHolder);
        }
    
        // fill data
        ViewHolder holder = (ViewHolder) rowView.getTag();
        String s = names[position];
        holder.text.setText(s);
        if (s.startsWith("Windows7") || s.startsWith("iPhone")
            || s.startsWith("Solaris")) {
          holder.image.setImageResource(R.drawable.no);
        } else {
          holder.image.setImageResource(R.drawable.ok);
        }
    
        return rowView;
      }
    

提交回复
热议问题