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

后端 未结 5 1833
天命终不由人
天命终不由人 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:40

    Try this

    static class ViewHolder {
    
        private TextView friendsname;
        private ImageView thumb_image;
        private CheckBox cb;
    
    }
    public View getView(final int position, View convertView, ViewGroup parent) {
    
        ViewHolder mViewHolder = null;
        HashMap song = null;
    
        if (convertView == null) {
    
            song = new HashMap ();
            mViewHolder = new ViewHolder();
    
            LayoutInflater vi = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    
            convertView = vi.inflate(R.layout.activity_friend_list_row, parent, false);
            mViewHolder.friendsname = (TextView) convertView.findViewById(R.id.friendsName); // title
            mViewHolder.thumb_image = (ImageView) convertView.findViewById(R.id.list_image); // thumb image
    
    
            mViewHolder.cb = (CheckBox) convertView.findViewById(R.id.checkBox);
    
            convertView.setTag(mViewHolder);
            mViewHolder.cb.setTag(data.get(position));
    
            mViewHolder.cb.setOnCheckedChangeListener(new OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(CompoundButton buttonView, boolean ischecked) {
    
                    InviteFriends.isChecked[position] = buttonView.isChecked();
    
                }
            });
    
        } else {
    
            mViewHolder = (ViewHolder) convertView.getTag();
    
        }
    
        song = mViewHolder.cb.getTag();
    
        mViewHolder.friendsname.setText(song.get(InviteFriends.KEY_DISPLAY_NAME));
        mViewHolder.imageLoader.DisplayImage(song.get(InviteFriends.KEY_IMAGEPROFILE_URL), thumb_image);
        mViewHolder.cb.setChecked(InviteFriends.isChecked[position]);
    
        return convertView;
    }
    

提交回复
热议问题