我有一個應該處理觸摸的容器View
。它有Listview
,覆蓋範圍爲onTouch()
,返回false
(當容器通過刷卡擴展時,將返回true
)。當Listview
觸摸發生時,它傳遞到容器View
,一切都很好。但我需要爲Listview
的項目添加點擊處理。在ListView中拖動的Android觸摸事件
當我設置爲onClickListener
項目,我在日誌中看到它沒有MotionEvent
傳遞給容器,它ListView
onTouch()
(返回false
和什麼都不做)是stucked。我想爲這樣的項目設置onTouchListener
:
viewHolder.itemLayout.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
return true;
case MotionEvent.ACTION_MOVE:
return false;
case MotionEvent.ACTION_UP:
Log.d(TAG, "something like click detected");
return true;
}
return false;
}
});
但是結果是一樣的。有人可以解釋爲什麼我的集裝箱沒有收到觸摸事件,即使ListView
返回false
因爲它的優先onTouch()
?
我相信你可以直接使用OnItemClickListener來處理點擊listview項目 – sharan