我现在实现了一个listview,每个item里面有一些其他控件和三个imageview
我如何实现对每个imageview的监听
点击不同的图片时,完成不同的操作
我现在的实现代码如下
lv_detail.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
Log.i("Forum_detail","listview被点击");
Log.i("Forum_detail",position+"位置");
switch(position){
case 4://第一个图片的位置
intent.setClass(Forum_detail.this, Forum_post.class);
Forum_detail.this.startActivity(intent);
break;
case 5://第二个图片的位置
Toast.makeText(getApplicationContext(), "赞", Toast.LENGTH_SHORT).show();
break;
default :
break;
}
}
});
但是,输出的position总是0
求问怎么实现
------解决思路----------------------
long id 这个才是真实的position,中间的position不准。
在getView() 方法里面 直接在ImageView上面设置OnClickListener监听即可。
------解决思路----------------------
不是应该设置监听么,对ImageView设置OnClickListener监听,在里边写啊
------解决思路----------------------

你也可以通过点击事件里的view得到里面的相关View来进行操作
------解决思路----------------------
不要这样,这样是每个item的位置。要设置每个item中的view的监听就在getView中直接设置或者在getView中给每个view设置id,然后在onItemClickListener中findviewById然后在设置每个view的点击事件。
------解决思路----------------------
LZ设置的不对
onItemClickListener 是点击条目的 监听器;
如果为 条目中的布局中的组件设置监听器, 需要 重写 适配器 adapter, 并在 getView 中设置点击事件