ListView row buttons: How do I create a custom Adapter that connects a View.OnClickListener to a button on each row of a ListView?

前端 未结 4 2084
醉话见心
醉话见心 2020-12-10 00:22

I want my ListView to contain buttons, but setting the button\'s xml property, onClick=\"myFunction\" and then placing a public void myFunction(android.view.View view) metho

4条回答
  •  不知归路
    2020-12-10 01:22

    Inside your getView() implementation of CustomAdapter, you can try like below.

       public View getView(int position, View convertView, ViewGroup parent) {
            ViewHolder holder;
    
            if (convertView == null) {
                convertView = inflater.inflate(R.layout.xxxxx, null);
                holder = new ViewHolder();
                holder.invite = (Button) convertView.findViewById(R.id.button);
            } else {
                holder = (ViewHolder) convertView.getTag();
            }
    
    
            final int pos = position;
            holder.button.setOnClickListener(new View.OnClickListener() {
                    @Override
            public void onClick(View v) {
                handleClick(pos);   
                }
            });
     }
    
        class ViewHolder {
            Button button;
        }
    

提交回复
热议问题