How to get view for an item in listview in android?

前端 未结 5 2135
南方客
南方客 2020-12-16 17:26

Is it possible to get an item view based on its position in the adapter and not in the visible views in the ListView?

I am aware of functions like getChildAt() and g

5条回答
  •  暖寄归人
    2020-12-16 17:52

    Here, Its very short described code, you can simple re-use viewholder pattern to increase listview performance Write below code in your getview() method

    ViewHolder holder = new ViewHolder();
        if (convertView == null) {
            convertView = layoutInflater.inflate(R.layout.skateparklist, null);
            holder = new ViewHolder();
    
            holder.headlineView = (TextView) convertView
                    .findViewById(R.id.textView1);
            holder.DistanceView = (TextView) convertView
                    .findViewById(R.id.textView2);
            holder.imgview = (NetworkImageView) convertView
                    .findViewById(R.id.imgSkatepark);
            convertView.setTag(holder); //PLEASE PASS HOLDER AS OBJECT PARAM  , CAUSE YOU CAN NOY PASS POSITION IT WILL BE CONFLICT Holder and Integer can not cast 
            //BECAUSE WE NEED TO REUSE CREATED HOLDER 
        } else {
            holder = (ViewHolder) convertView.getTag();
        }
    
    // your controls/UI setup 
        holder.DistanceView.setText(strDistance); 
        ......
       return convertview
    

提交回复
热议问题