Android ListView:当长时间单击每行中的imageview后向上移动手指时,会调用onItemClick函数

Android ListView:当长时间单击每行中的imageview后向上移动手指时,会调用onItemClick函数,android,listview,imageview,Android,Listview,Imageview,我对ListView有一个问题。首先,这个问题只发生在我真正的Android设备上,它在模拟器上工作正常 我有一个ListView:listVew。在它的每一行中,都有一个imageView:picView。我在自定义适配器中将长时间单击侦听器设置为图像视图: picView.setOnLongClickListener(new View.OnLongClickListener() { public boolean onLongClick(View v) { ...

我对ListView有一个问题。首先,这个问题只发生在我真正的Android设备上,它在模拟器上工作正常

我有一个ListView:listVew。在它的每一行中,都有一个imageView:picView。我在自定义适配器中将长时间单击侦听器设置为图像视图:

picView.setOnLongClickListener(new View.OnLongClickListener()
{
   public boolean onLongClick(View v) 
   {
        ...
   }
}
当我长按imageView时,它会移动

2在我的Activity类中,我在listView的每个项目上设置了OnItemClick侦听器

listView.setOnItemClickListener(new OnItemClickListener()
{
    public void onItemClick(AdapterView<?> parent, View view,int position, long id)
    {
        ...
    }
}
listView.setOnItemClickListener(新的OnItemClickListener()
{
public void onItemClick(AdapterView父对象、视图、整型位置、长id)
{
...
}
}
问题是,在真实的设备中,当我长时间单击imageView并向上移动手指时,OnItemClick方法被激活。在模拟器中,这从未发生过

有人知道为什么会这样吗?非常感谢

加:

我在emulator中进行了多次测试,现在我认为问题可以简单地描述如下:


当设备检测到longclicklistener时,是否有方法禁用其他TouchEvent侦听器?

我认为您需要拦截listview的touch事件。因此,请尝试在Adapter.getView()中设置OnClickListener


非常感谢!你给了我很大的帮助。
View getView(View convertView, int position, ViewGroup parent){
    convertView.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v){
            onItemClick(parent, convertView, position, 0);
        }
    });
    return convertView;
}