信息:
我有一个RecyclerView,我用类里面的ArrayList dataList填充它ListAdapter.我从表中获取dataList的数据SQLiteDatabase:类中的TABLE_USERdETAILDbHelper.我正在尝试RecyclerView通过使用SimpleItemTouchHelperCallback类来实现拖放重组.但是,虽然我现在能够移动RecyclerView元素,但列表不会重新排序或移动; 我只能暂时将列表元素相互拖动,如下图所示,但它意味着永久地将列表元素插入到它所持有的任何位置:
I expect the problem to be within the ListAdapter class, inside the method onItemMove, but I don't know how to solve my issue.
Question: How do I make this drag and drop feature actually re-organise the RecyclerView data list?
Update 5: I have updated my current code for further assistance.
public class ListAdapter extends …Run Code Online (Sandbox Code Playgroud) 我有一个RecyclerView已经实现了一个onMove名为的命令onItemMove.我正在onItemMove尝试让列表元素在拖动时交换位置,但列表元素只是悬停在每个元素上,它们不会交换.我怎么能纠正这个?
注1:onItemDismiss工作正常; 它将项目滑开并将其从列表中删除.
注2:我试过Override onItemMove,但它实际上并没有覆盖它的超类.
List Adapter Class:包含onItemMove命令
public class ListAdapter extends RecyclerView.Adapter<ListAdapter.ListViewHolder> {
private static final String TAG = "ListAdapter";
Context context;
private List<UserData> dataList = new ArrayList<>();
LayoutInflater inflater;
Listener listener;
DbHelper dbHelper;
public interface Listener {
void nameToChnge(String name);
}
public ListAdapter(Context context, List<UserData> dataList1) {
this.context = context;
this.dataList = dataList1;
this.listener= (Listener) context;
inflater = LayoutInflater.from(context);
}
@Override
public ListViewHolder onCreateViewHolder(ViewGroup parent, …Run Code Online (Sandbox Code Playgroud) 试图实现一个Floating Action Button隐藏在向下滚动的(FAB),并在向上滚动时显示.
我必须ScrollAwareFABBehavior.java管理它,并且它连接到XML中的FAB activity_main.问题: FAB隐藏在向下滚动,但在向上滚动时不再显示.我记录了该onNestedScroll方法,并在向下滚动时调用"调用滚动"和"调用隐藏"; 但是在FAB被隐藏之后,没有3x Log的
问题:为什么在FAB隐藏后向上滚动时FAB不显示.
ScrollAwareFABBehavior.java:
import android.content.Context;
import android.support.design.widget.CoordinatorLayout;
import android.support.design.widget.FloatingActionButton;
import android.support.v4.view.ViewCompat;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
public class ScrollAwareFABBehavior extends FloatingActionButton.Behavior {
public ScrollAwareFABBehavior(Context context, AttributeSet attrs) {
super();
}
@Override
public boolean onStartNestedScroll(final CoordinatorLayout coordinatorLayout, final FloatingActionButton child,
final View directTargetChild, final View target, final int nestedScrollAxes) {
// Ensure we react to vertical scrolling
return nestedScrollAxes == ViewCompat.SCROLL_AXIS_VERTICAL
|| super.onStartNestedScroll(coordinatorLayout, child, …Run Code Online (Sandbox Code Playgroud) java android floating-action-button android-coordinatorlayout