Android: ListView elements with multiple clickable elements

后端 未结 7 632
忘了有多久
忘了有多久 2021-01-03 11:22

I\'ve a ListView where every element in the list contains a TextView and two different Buttons. Something like this:

ListView
------------------         


        
7条回答
  •  鱼传尺愫
    2021-01-03 11:32

    check below code it may help you.

    private class ListViewAdapter extends BaseAdapter {
    
            private LayoutInflater mInflater;
    
            public ListViewAdapter(Context con) {
                // TODO Auto-generated constructor stub
                mInflater = LayoutInflater.from(con);
            }
    
            public int getCount() {
                // TODO Auto-generated method stub
                return main_genral_class.review_name.size();
            }
    
            public Object getItem(int position) {
                // TODO Auto-generated method stub
    
                return position;
            }
    
            public long getItemId(int position) {
                // TODO Auto-generated method stub
                return position;
            }
    
            public View getView(int position, View convertView, ViewGroup parent) {
                // TODO Auto-generated method stub
                ListContent holder;
    
                if (convertView == null) {
                    convertView = mInflater.inflate(R.layout.review_row, null);
                    holder = new ListContent();
    
                    holder.img = (ImageView) convertView
                            .findViewById(R.id.imageView1);
                    holder.name = (TextView) convertView
                            .findViewById(R.id.textView1);
                    holder.check_date = (TextView) convertView
                            .findViewById(R.id.textView2);
    
    
    
    
                    holder.img.setOnClickListener(mOnTitleClickListener);
                    holder.name.setOnClickListener(mOnTitleClickListener1);
                    holder.check_date.setOnClickListener(mOnTitleClickListener2);
    
    
                    convertView.setTag(holder);
                } else {
    
                    holder = (ListContent) convertView.getTag();
                }
    
                holder.text2.setText(main_genral_class.review_shout.get(position));
                return convertView;
            }
        }
    

    private OnClickListener mOnTitleClickListener = new OnClickListener() {
            public void onClick(View v) {
                final int position = mListView.getPositionForView((View) v
                        .getParent());
    
                    Toast.makeText(review_activity.this, "click on Image View",
                            Toast.LENGTH_SHORT).show();
    
            }
        };
    

    private OnClickListener mOnTitleClickListener1 = new OnClickListener() {
                public void onClick(View v) {
                    final int position = mListView.getPositionForView((View) v
                            .getParent());
    
                        Toast.makeText(review_activity.this, "click on Text View",
                                Toast.LENGTH_SHORT).show();
    
                }
            };
    

    private OnClickListener mOnTitleClickListener2 = new OnClickListener() {
                public void onClick(View v) {
                    final int position = mListView.getPositionForView((View) v
                            .getParent());
    
                        Toast.makeText(review_activity.this, "click on Date Text View",
                                Toast.LENGTH_SHORT).show();
    
                }
            };
    

提交回复
热议问题