アイテムスワイプ機能を実装するためにonTouchListenerを設定したListViewで、onItemClickとonItemLongClickイベントが必要ですが、できません。
onTouch 関数の int に注目せずに false を返すと、onItemClick または longClick が応答します。コードは次のようになります。
public boolean onTouch(View v, MotionEvent event) {
return false
}
しかし、何かを行った後、Action_Up で false を返すと、クリック イベントは応答しません。
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// Todo something
break;
case MotionEvent.ACTION_MOVE:
// Todo something
break;
case MotionEvent.ACTION_UP:
// Todo something
if (the Condition) {
return true;
} else {
return false;
}
break;
default:
break;
}
return true;
}
どうしてか分かりません。これを数日間検索しましたが、今でも方法がわかりません。助けてください。