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()。