如何知道单击了哪个项目中的哪个按钮
How to know which button in which item was clicked
我在列表视图的每个项目中都有一个删除按钮,让用户有机会删除他们创建的项目。我需要知道在哪个项目中单击了哪个按钮 - 我如何获得用户单击按钮的项目? (我使用自定义适配器)?谢谢
为项目设置标签。您可以使用标签的标识符(甚至是迭代值)来识别它
您可以在创建列表视图的每个单元格时使用setTag(Object tag)
将项目设置为按钮的标签。当按钮被点击时,使用 getTag ()
获取对象(您需要将其转换为您的项目类型)。
然后你就可以对你的物品做任何你想做的事了。
这不是最干净的方法,但您可以在自定义适配器 getview 方法中设置按钮 onclick 侦听器
@Override
public View getView(int position, View convertView, ViewGroup parent) {
...
Button btnDelete= (Button) convertView.findViewById(R.id.btnDelete);
btnDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//execute your codes here
}
});
}
我在列表视图的每个项目中都有一个删除按钮,让用户有机会删除他们创建的项目。我需要知道在哪个项目中单击了哪个按钮 - 我如何获得用户单击按钮的项目? (我使用自定义适配器)?谢谢
为项目设置标签。您可以使用标签的标识符(甚至是迭代值)来识别它
您可以在创建列表视图的每个单元格时使用setTag(Object tag)
将项目设置为按钮的标签。当按钮被点击时,使用 getTag ()
获取对象(您需要将其转换为您的项目类型)。
然后你就可以对你的物品做任何你想做的事了。
这不是最干净的方法,但您可以在自定义适配器 getview 方法中设置按钮 onclick 侦听器
@Override
public View getView(int position, View convertView, ViewGroup parent) {
...
Button btnDelete= (Button) convertView.findViewById(R.id.btnDelete);
btnDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//execute your codes here
}
});
}