2012-10-16 35 views
1

所以我有一個ListView上附上:刷卡的項目,有小垂直邊距

mList.setOnTouchListener(gestureListener); 

什麼這個手勢監聽器基本上是衡量DELTAX(水平刷卡),並檢測是否是高出一些值,那麼它知道滑動已經發生。

然後,我有:

mList.setOnItemClickListener(new AdapterView.OnItemClickListener() { ... } 

與姿勢對象檢查是否刷卡已經發生了,如果是其刷卡,否則它的點擊。

這一切工作正常。

我的問題是:

當我刷卡與我的拇指元素,有時我做一個列表滾動只是有點垂直。 檢測到水平滑動,但問題是OnItemClickListener未觸發,這是我將在該項目上啓動某些操作的位置,具體取決於它是否是滑動。

所以問題是,ListView的垂直滾動機制,使得onItemClicked事件不會觸發的東西。

enter image description here

在左側的列表中工作正常,沒有出現垂直滾動。 右側的列表中,我滑動該項目,但略微到底部(仍在此項目的範圍內),以便列表只移動一點。 OnItemClicked不會觸發。

如何爲垂直滾動添加一個小的邊距,以便滾動出現,但onItemClicked仍然被觸發?

感謝

回答