我想知道是否有人可以帮助我,因为我似乎无法找到任何记录的方法,如何在列表视图中获取列的视图?
所以我有一个列表视图,一个自定义适配器有三个控件,两个textview和一个imageview,我想要发生的是当你按下我希望能够删除的最后一列(图像)那一行,我可以使用整行,但我希望用户必须单击imageview列才能触发删除。
我该怎么做?我必须在我的OnClickListener中引用什么才能检查所选的imageview列?
感谢您阅读
lstNotes.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
}
});
position只引用列表行的位置,不允许您指定列索引或类似的东西
答案 0 :(得分:0)
您无法使用lstNotes.setOnItemClickListener
检测点击次数 - 这纯粹是针对项目点击次数。而是在列表视图的适配器中,您应该为每个视图项设置单击侦听器。
然后,您可以使用界面让您的活动知晓。以下内容可行:
public interface OnViewClickListener{
void onTextView1Click();
void onTextView2Click();
void onImageViewClick();
}
OnViewClickListener listener;
public CustomAdapter(Context context, int layout, ArrayList<Object> list, OnViewClickListener listener) {
this.listener = listener;
super(context, layout, list);
}
...
public View getView(int position, View convertView, ViewGroup viewGroup) {
...
textView1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
listener.onTextView1Click();
}});
textView2.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
listener.onTextView2Click();
}});
imageView.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
listener.onImageViewClick();
}});
}