滑动删除recyclerview的项目不起作用

克利兹:

我正在尝试将此功能添加到我的RecyclerView,以便在向左或向右滑动一个项目时将其删除。
但是,当我执行我的应用程序时,我什至无法滑动其中一项。
感谢任何帮助

new ItemTouchHelper(itemTouchHelperCallback).attachToRecyclerView(mRecyclerView);
ItemTouchHelper.SimpleCallback itemTouchHelperCallback= new ItemTouchHelper.SimpleCallback(0,
            ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
        @Override
        public boolean onMove(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull RecyclerView.ViewHolder target) {
            return false;
        }

        @Override
        public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int direction) {
            mExampleList.remove(viewHolder.getAdapterPosition());
            mAdapter.notifyDataSetChanged();
            saveData();
        }

顺便说一句,这RecyclerView不是位于我的MainActivity中,而是位于可以从MainActivity的“抽屉”菜单中打开的Fragment中,所以问题可能出在那儿?

克利兹:

好吧,我终于找到了问题所在。我只需要在构建方法RecyclerView而不是onCreate方法中初始化ItemTouchHelper

因此,代码如下所示:

 private void buildRecyclerView() {
        mRecyclerView = view.findViewById(R.id.recyclerview);
        mLayoutManager = new LinearLayoutManager(getActivity());
        mAdapter = new ExampleAdapter(mExampleList);
        mRecyclerView.setLayoutManager(mLayoutManager);
        new ItemTouchHelper(itemTochHelperCallback).attachToRecyclerView(mRecyclerView);
        mRecyclerView.setAdapter(mAdapter);
    }
    ItemTouchHelper.SimpleCallback itemTochHelperCallback=new ItemTouchHelper.SimpleCallback(0,ItemTouchHelper.RIGHT | ItemTouchHelper.LEFT) {
        @Override
        public boolean onMove(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull RecyclerView.ViewHolder target) {
            return false;
        }

        @Override
        public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int direction) {
            mExampleList.remove(viewHolder.getAdapterPosition());
            mAdapter.notifyDataSetChanged();
        }
    };

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章