在使用AndroidSwipeLayout發現的一些問題
阿新 • • 發佈:2019-01-24
專案地址 https://github.com/daimajia/AndroidSwipeLayout 滑動Layout,支援單個View,ListView,GridView
在看上去不錯的一個專案,可是使用的時候發現用它來實現lsitView當listView滑動到第二屏時,點選滑動出來的“刪除”按鈕時,根本找不到相對應的view,這個是在OnItemClickListener的時候,但是如果你再使用OnItemLongClickListener,長安“刪除”按鈕時,你會驚喜的發現,它又能找到相應的view,這麼奇怪的問題,看看如何解決吧!我做做法是,既然OnItemClickListener獲得不到而OnItemLongClickListener可以得到當前的VIEW,那麼當我點選這個控制元件的時候,主動讓它觸發OnItemLongClickListener事件就可以了,所以需要修改一下
專案中的原始碼:
將SwipeLayout.java中
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
if(mDoubleClickListener != null){
performAdapterViewItemClick(e);
}
return true;
}
修改為:
再次啟動專案試一下,這樣listview滾動到什麼地方的時候都能或得到當前的VIEW了!//單點時間執行完翻頁後就沒有效果了~因此將單點事件改為返回長按事件的返回 @Override public boolean onSingleTapConfirmed(MotionEvent e) { if(mDoubleClickListener != null){ // performAdapterViewItemClick(e); performLongClick(); } return true; }