1. 程式人生 > >在使用AndroidSwipeLayout發現的一些問題

在使用AndroidSwipeLayout發現的一些問題

專案地址 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;
        }

修改為:
//單點時間執行完翻頁後就沒有效果了~因此將單點事件改為返回長按事件的返回
        @Override
        public boolean onSingleTapConfirmed(MotionEvent e) {
            if(mDoubleClickListener != null){
//                performAdapterViewItemClick(e);
                performLongClick();
            }
            return true;
        }
再次啟動專案試一下,這樣listview滾動到什麼地方的時候都能或得到當前的VIEW了!