如何知道单击了哪个项目中的哪个按钮

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

        }
    });

}