最近,我正在使用Android-SwipeListVIEw库,这是一项了不起的工作.
直截了当,我的要求是,当我向左滑动一个项目时,其他项目必须关闭.然后,当我再次打开左侧的第一个项目后,我又开始非常缓慢地向左滑动第二个项目,同时我的手指仍然触摸屏幕.在opening(BaseSwipeListVIEw中的onStartopen())开始时,打开的项目很快关闭.在打开的那一刻开始关闭时,我停止了移动手指.结果,第二个项目停在那里.结果如下:
同时,我的布局是:
<com.fortysevendeg.swipeListvIEw.SwipeListVIEw androID:ID="@+ID/album_detail_content" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:layout_below="@ID/album_description_parent" androID:layout_centerHorizontal="true" androID:layout_margin="2dp" androID:background="#ffffff" androID:cachecolorHint="#000000" androID:divIDer="@drawable/divIDer_bg" androID:divIDerHeight="2dp" androID:drawingCacheQuality="auto" androID:footerdivIDersEnabled="false" androID:gravity="top|center_horizontal" androID:headerdivIDersEnabled="false" app:swipeActionleft="reveal" swipe:swipeBackVIEw="@+ID/detail_item_back" swipe:swipeCloseAllitemsWhenMoveList="true" swipe:swipeDrawableChecked="@drawable/choice_selected" swipe:swipeDrawableunchecked="@drawable/choice_unselected" swipe:swipeFrontVIEw="@+ID/detail_item_front" swipe:swipeMode="left" swipe:swipeOpenOnLongPress="false" />
我的Java代码是:
albumContentSLV .setSwipeListVIEwListener(new BaseSwipeListVIEwListener() { @OverrIDe public voID onStartopen(int position, int action, boolean right) { // Todo auto-generated method stub albumContentSLV.cloSEOpenedItems(); super.onStartopen(position, action, right); } });
是的,SwipeListVIEw可以通过cloSEOpenedItems()关闭所有打开的项目.但是,当有半开项时,SwipeListVIEw如何处理呢?这是SwipeListVIEw中的错误吗?
解决方法:
我使用了android-swipeListVIEw的小部件库.我在Github上分叉了这个图书馆.我对此图书馆的这个问题有解决方案.这是我的project which I had fixed this bug,请检查一下并进行深入了解.
我修改了closeAnimate的实现.它在第349行.修改后的closeAnimate(int)像这样:
protected voID closeAnimate(int position) { VIEw vIEw = swipeListVIEw.getChildAt(position - swipeListVIEw.getFirstVisibleposition()); if (vIEw != null) { closeAnimate(vIEw.findVIEwByID(swipeFrontVIEw), position); }}
然后,在垂直快速滚动过程中不会再发生崩溃.
同时,他在openAnimate(int)上也遇到了同样的问题,修改过的openAnimate(int)如下所示:
protected voID openAnimate(int position) { final VIEw child = swipeListVIEw.getChildAt(position - swipeListVIEw.getFirstVisibleposition()).findVIEwByID(swipeFrontVIEw); if (child != null) { openAnimate(child, position); }}
总结 以上是内存溢出为你收集整理的Android-SwipeListView中的错误全部内容,希望文章能够帮你解决Android-SwipeListView中的错误所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)