ListView に問題があります。まず、この問題は実際の Android デバイスでのみ発生します。シミュレーターでは問題なく動作します。
1 私は 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)
{
...
}
}
問題は、実際のデバイスでは、imageView を長押しして指を上に移動すると、OnItemClick メソッドがアクティブになることです。シミュレーターでは、これは発生しませんでした。
なぜこれが起こったのか誰か知っていますか?どうもありがとう!
追加:
私はエミュレータで何度もテストしていますが、今では質問は次のように簡単に説明できると思います。
デバイスが longclicklistener を検出したときに他の TouchEvent リスナーを無効にする方法はありますか?