如何在按钮单击时在Adapter类中获取Tapped List Item位置

Sun*_*Sun 0 android android-arrayadapter android-listview custom-adapter

我试图在按钮单击时在Adapter类中获取列表项位置,但没有取得任何成功

首先,我必须获取tapped list项,然后想要删除该行

得到这样的东西: D/strPosition::-(1922): com.and.field.Transport@b3ddf5c0

使用以下代码:

viewHolder.btnDelete.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(final View v) {         

                strPosition = arrayList.get(position).toString();
                Log.d("strPosition::-", strPosition);

                // and then want to delete that row using tapped position

                strName = arrayList.get(position).getName().toString();                         

            }
        });
Run Code Online (Sandbox Code Playgroud)

gio*_*gio 5

您不能position在您的onClick方法中使用,而是使用下一种方法

viewHolder.btnDelete.setTag(position);
viewHolder.btnDelete.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(final View v) {
            Integer taggedPosition = (Integer) v.getTag();
            Log.d("Position::-", Integer.toString(taggedPosition));
            strName = arrayList.get(taggedPosition).getName().toString();
        }
    });
Run Code Online (Sandbox Code Playgroud)

  • @ 2Dee因为作者在那里有按钮,它执行另一个动作(删除)与项目点击(例如视图) (2认同)