要解决ArrayAdapter中的按钮无法点击的问题,可以按照以下步骤进行:
public class CustomArrayAdapter extends ArrayAdapter {
public CustomArrayAdapter(Context context, int resource, List objects) {
super(context, resource, objects);
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
Button button = view.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 处理按钮点击事件
Toast.makeText(getContext(), "Button clicked at position " + position, Toast.LENGTH_SHORT).show();
}
});
return view;
}
}
public void buttonClicked(View view) {
int position = listView.getPositionForView(view);
// 处理按钮点击事件
Toast.makeText(this, "Button clicked at position " + position, Toast.LENGTH_SHORT).show();
}
List items = new ArrayList<>();
items.add("Item 1");
items.add("Item 2");
items.add("Item 3");
CustomArrayAdapter adapter = new CustomArrayAdapter(this, R.layout.list_item, items);
listView.setAdapter(adapter);
通过以上步骤,你可以在ArrayAdapter中的按钮中添加点击事件,并处理点击事件的逻辑。