2014-05-09 56 views
2

我使用的是Android的47degrees刷卡列表視圖 https://github.com/47deg/android-swipelistview47degrees AndroidSwipeList只接收移動事件每秒觸摸

我複製到我的Eclipse項目不變的所有文件。

我在XML中的列表視圖設置

<com.company.appname.swipe.SwipeListView 
      xmlns:swipe="http://schemas.android.com/apk/res-auto" 
      android:id="@+id/home_list_view" 
      android:listSelector="#00000000" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      swipe:swipeFrontView="@id/swipelist_frontview" 
      swipe:swipeBackView="@id/swipelist_backview" 
      swipe:swipeActionLeft="reveal" 
      swipe:swipeActionRight="reveal" 
      swipe:swipeMode="both" 
      swipe:swipeCloseAllItemsWhenMoveList="false" 
      swipe:swipeOpenOnLongPress="false" 
      swipe:swipeAnimationTime="300" 
      swipe:swipeOffsetLeft="100dp" 
      swipe:swipeOffsetRight="0dp" 
      /> 

我已經安裝在代碼中SwipeListView

SwipeListViewTouchListener touchListener = new SwipeListViewTouchListener(mListView, R.id.swipelist_frontview, R.id.swipelist_backview); 
    touchListener.resetItems(); 
    mListView.setOnTouchListener(touchListener); 

當我嘗試刷一個列表項,頂視圖開始滑動離開第二然後停止部分路線(平均說10%,但可能略有不同,這取決於滑動的速度)。所以它被困在那裏。我第二次嘗試滑動它時,它會順利滾動。

注意:它會每隔一秒鐘暫停一次我觸摸一個項目 - 但它不一定是相同的項目。例如,我可以開始滑動一行,這將停止,然後我可以滾動同一行或不同的行,它會平滑。

在調查中,我注意到第一次嘗試刷卡和MotionEvent.ACTION_DOWN事件,然後是MotionEvent.ACTION_UP事件。第二次是有MotionEvent.ACTION_DOWN後跟一個MotionEvent.ACTION_MOVE後跟一個MotionEvent.ACTION_UP(所以第一次沒有MotionEvent.ACTION_MOVE

任何意見或建議?

+0

我沒有與47degrees AndroidSwipeList工作,但從[http://www.tutecentral.com/android-swipe-listview/]實施,這在我的情況下工作正常...看看那... –

+0

我已經在我的項目中併入了輕掃listivew,但我沒有任何問題,您可以發佈更多代碼 –

+0

嗨@Dittimon如何在滾動listView時管理滑動的項目?因爲在這裏我也設置swipe:swipeCloseAllItemsWhenMoveList =「false」,但在我的情況下,當我滾動listview swipedlistitem改變位置。你如何管理這個。有沒有管理這個的方法?你可以請張貼你的代碼... –

回答

0

似乎改變列表視圖swipemode屬性

swipe:swipeMode="none"

修復我的具體問題。

0

我已經在我的項目中使用了滑動列表視圖,我沒有遇到任何問題。我在你的代碼和我看到的唯一區別是touchListener.resetItems(); 我用滑動偵聽器不touchlistener。

listViewCalendar 
      .setSwipeListViewListener(new BaseSwipeListViewListener() { 

       @Override 
       public void onOpened(int position, boolean toRight) { 
       } 

       @Override 
       public void onClosed(int position, boolean fromRight) { 
       } 

       @Override 
       public void onListChanged() { 
       } 

       @Override 
       public void onMove(int position, float x) { 
       } 

       @Override 
       public void onStartOpen(int position, int action, 
         boolean right) { 

       } 

       @Override 
       public void onStartClose(int position, boolean right) { 



       } 

       @Override 
       public void onClickFrontView(int position) { 
        // 
       } 

       @Override 
       public void onClickBackView(int position) { 
        // Log.d("swipe", 
       } 

       @Override 
       public void onDismiss(int[] reverseSortedPositions) { 

       } 

      }); 

    listViewCalendar.setOffsetLeft((width - convertDpToPixel(115))); 
    listViewCalendar.setSwipeMode(SwipeListView.SWIPE_MODE_LEFT); 
    listViewCalendar.setSwipeActionLeft(SwipeListView.SWIPE_ACTION_REVEAL); 
    listViewCalendar.setOffsetLeft(width - convertDpToPixel(120f)); 
    listViewCalendar.setAnimationTime(75); 

and heres my xml。

<com.fortysevendeg.swipelistview.SwipeListView 
    xmlns:swipe="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/listViewCalendar" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/buttonNewEntry" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/relativeLayout1" 
    android:listSelector="#00000000" 
    swipe:swipeBackView="@+id/back" 
    swipe:swipeCloseAllItemsWhenMoveList="true" 
    swipe:swipeFrontView="@+id/front" 
    swipe:swipeMode="both" > 
</com.fortysevendeg.swipelistview.SwipeListView> 

隨時問任何問題。

+0

嗨@非法參數我也在我的項目中使用com.fortysevendeg.swipelistview.SwipeListView。我在使用47度SwipeListView時遇到了一個問題,即,在我的項目中,我不想在滾動listview時關閉swiped項目,以便在我的xml中設置swipe:swipeCloseAllItemsWhenMoveList =「false」。當我使用這個滑動的列表項更改位置。例如:如果我在第三項上滑動,並且滾動顯示5t項目的列表視圖,請在我的項目中如何管理這一項?' –

+0

@Rajesh SwipeListView擴展了listview,所以它重用了視圖。這意味着如果打開的列表在屏幕邊界之外,則會丟失其打開狀態。您可以將打開位置的狀態保存在另一個數組中,並可以通過編程方式在適配器的getView方法中打開它。如果你問一個新問題會更好 –