当我尝试在RecyclerView中滑动以关闭项目时,项目装饰线仍然保留在屏幕上(可以在我提供的gif动画上看到:http://imgur.com/v1D149C)。
因此,当我尝试刷出recyclerView项时,警告对话框会显示一条消息,询问我是否要删除该项。只要我点击"确定",项目就会正常删除。但是,如果我点击"取消",会发生一些奇怪的事情,之后每当我删除列表中的任何项目时,屏幕上都会出现与项目装饰线的一些差距,我不知道该怎么做用它。 我希望有人可以提供帮助,或者至少说在哪里寻找解决方案,因为我完全搞砸了。
我已经使用了这个RecyclerView Swipe-to-Dosmiss TouchListener: https://github.com/krossovochkin/Android-SwipeToDismiss-RecyclerView/blob/master/app/src/main/java/com/example/android/swipedismiss/SwipeDismissRecyclerViewTouchListener.java
以下是我在我的应用中使用的代码:http://pastebin.com/pkiLBRzr
更改位于private boolean handleTouchEvent(MotionEvent motionEvent)
方法的172到280行之间(case MotionEvent.ACTION_UP:
)。
另外,我将其用作ItemDecoration:https://gist.github.com/polbins/e37206fbc444207c0e92
这是我的MainActivity:http://pastebin.com/AUdLCHjs
答案 0 :(得分:0)
根据我的理解,您的Swipe-to-Dismiss的实现可以正常工作。在我看来,问题是分隔符是在容器中,该容器包含要刷出的视图。也许如果你在视图中定义一个的分隔符,你可以获得你想要的视觉效果。
例如,在您发布的XML文件中,最后定义了一个形状:
`-------------Item Decoration Divider XML---------
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<size
android:width="1dp"
android:height="1dp"/>
<solid android:color="@color/divider" />
</shape>`
您的文件中的那部分似乎是您删除视图时保留的行,我建议您在幻灯片中删除 之前的线条(例如作为他们的推动者)。看看this问题。
尝试设置例如LinearLayout的android:divider="?android:dividerHorizontal"
属性或
{/ 1}}在您的文字视图中。