【发布时间】:2012-05-23 07:19:48
【问题描述】:
我有一个ListView,右侧有一张图片。我想通过单击ListView 上的图像来执行onClick 侦听器事件。请查看图片以供参考。
我知道基本的OnClick listener 实现,但这对我来说似乎有点棘手:P
忘了提一下,点击实际的ListView 会触发一个新活动,所以我需要维护这两个架构。
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
eventsData.remove(id);
cursor.requery();
}
});
以上代码通过单击任何列表元素执行删除操作eventsData.remove(id); 是用于执行此任务的数据库助手。就像我现在说的,我需要一种方法来通过单击图像来执行相同的过程,而不是整个列表元素,我希望列表元素稍后执行一些其他操作。
我希望现在我有点清楚了。
解决方案:
如果有人遇到同样的情况,那么这里是适配器的完整代码。
class CustomAdapter extends ArrayAdapter<String> {
CustomAdapter() {
super(Activity.this, R.layout.row, R.id.label, items);
}
public View getView(final int position, View convertView,
ViewGroup parent) {
View row=super.getView(position, convertView, parent);
deleteImg=(ImageView)row.findViewById(R.id.icon);
deleteImg.setImageResource(R.drawable.delete);
deleteImg.setOnClickListener(new OnClickListener() {
String s = items[position];
@Override
public void onClick(View v) {
Toast.makeText(context, s, Toast.LENGTH_SHORT).show();
}
});
return(row);
}
}
我知道编码有点蹩脚,所以请耐心等待,我只是想展示一下实际的过程。
它对我有用:)
【问题讨论】:
标签: android listview onclicklistener