Android 如何在单击按钮时获取适配器类中的点击列表项位置
我试图在单击按钮时获取适配器类中的点击列表项位置,但未获得任何成功 首先,我必须得到点击列表项,然后想删除该行 得到如下内容:Android 如何在单击按钮时获取适配器类中的点击列表项位置,android,android-listview,android-arrayadapter,custom-adapter,Android,Android Listview,Android Arrayadapter,Custom Adapter,我试图在单击按钮时获取适配器类中的点击列表项位置,但未获得任何成功 首先,我必须得到点击列表项,然后想删除该行 得到如下内容:D/strPosition:-(1922):com.and.field。Transport@b3ddf5c0 使用以下代码: viewHolder.btnDelete.setOnClickListener(new OnClickListener() { @Override public void onClick(final
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();
}
});
您不能在
onClick
方法中使用position
,而是使用下一种方法
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();
}
});
您不能在
onClick
方法中使用position
,而是使用下一种方法
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();
}
});
你不是已经有这个职位了吗?在您的变量命名位置?我不明白这个问题。你不是已经有这个职位了吗?在您的变量命名位置?我不明白这个问题。@Sun您使用了
ArrayAdapter
,所以您不需要将arrayList
存储在那里,因为您已经将它传递给了超级构造函数。使用适配器的方法来等。为什么不使用McClickListener呢?onItemClick将给出所单击项目的位置,无需设置标签或类似的东西…@2Dee因为作者在那里有按钮,它对项目单击(例如查看)执行另一个操作(删除)@gio请检查以下内容:@Sun you usedArrayAdapter
,因此您不需要在那里存储arrayList
,因为你已经把它传给了超级构造函数。使用适配器的方法来等。为什么不使用McClickListener呢?onItemClick将给出所单击项目的位置,无需设置标记或类似的内容…@2Dee,因为作者在那里有按钮,它对项目单击(例如查看)执行另一个操作(删除)@gio请检查: