Get listview item position on button click

前端 未结 5 1835
囚心锁ツ
囚心锁ツ 2020-11-27 05:07

This is my listview click event:

 lv1.setOnItemClickListener(new OnItemClickListener() {
       @Override
            public void onItemClick(AdapterView<         


        
5条回答
  •  一生所求
    2020-11-27 06:05

    If you are using ViewHolder make sure you use setTag() like this.

        public View getView(int position, View convertView, ViewGroup parent) {
            final ViewHolder holder;
    
    
            if (convertView == null) {
                holder = new ViewHolder();
                convertView = mLayoutInflater.inflate(R.layout.custom_row, parent, false);
                holder.btnNxt = (Button) convertView.findViewById(R.id.btnNext);
                holder.btnNxt.setOnClickListener(new OnClickListener() {
    
                    @Override
                    public void onClick(View arg0) {
                        int position=(Integer)arg0.getTag();
                    });
                convertView.setTag(holder);
            } else {
                holder = (ViewHolder) convertView.getTag();
            }
              holder.btnNxt.setTag(position);   // <---- setTag() here 
    
                return convertView;
            }
    
            private class ViewHolder {
                Button btnNxt;
            }
        }
    

    If you setTag() before your setOnClickListener() line, you will have problem when you scroll your listview.

提交回复
热议问题