Android 如何知道用户点击了哪个按钮?

Android 如何知道用户点击了哪个按钮?,android,button,expandablelistview,Android,Button,Expandablelistview,我有ExpandableListView,并且在ListView的每个组上都有按钮。如何知道用户点击了哪个组的按钮? 当用户在这些小部件上执行某些事件时,是否可以为按钮和编辑文本提供一些id并获取此id?执行以下操作: yourListView.setOnChildClickListener(this); 在重写的方法中: @Override public boolean onChildClick(ExpandableListView parent, View v, int g

我有
ExpandableListView
,并且在
ListView的每个组上都有按钮。如何知道用户点击了哪个组的按钮?
当用户在这些小部件上执行某些事件时,是否可以为按钮和编辑文本提供一些id并获取此id?

执行以下操作:

yourListView.setOnChildClickListener(this);
在重写的方法中:

@Override
public boolean onChildClick(ExpandableListView parent, View v,
        int groupPosition, int childPosition, long id) {

    switch (groupPosition or childPosition) {
    case 0:
        // do your logic
        break;

    default:
        break;

    }

    return false;
}

您将同时获得GroupPosition和ChildPosition。

您应该为
列表视图\u布局中的按钮设置一个id。
您需要为listView设置一个
适配器。在
getChildView
方法中,可以为按钮设置click listener

public class ExpandableListAdapter extends BaseExpandableListAdapter {

   @Override
   public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {

        ViewHolder holder = null;

        if (convertView == null) {
            convertView = mInflater.inflate(R.layout.listView_layout, null);
            holder = new ViewHolder();

            holder.mButton= (ImageButton) convertView.findViewById(R.id.myButton);

            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();
        }


        holder.mButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {


            }
        });
   }

   public static class ViewHolder {
      public ImageButton mButton;
   }
}

Brother,它是可扩展的listView,你不会在其中得到getView方法。Brother,我是说getChildView。你可以根据列表中的位置对视图对象使用setId()和getId()。