如何在 Android 中对 RecyclerView 应用 setItemChecked(position,true)?

How to apply setItemChecked(position,true) with RecyclerView in Android?

我正在开发 Material Design Navigation Drawer。我在其中创建了一个新的 class RecyclerItemClickListener implements RecyclerView.OnItemTouchListener 来处理用户对列表项的点击。我在 MainActivity class' onCreate 方法中以这种方式使用 class:

mRecyclerView.addOnItemTouchListener(
            new RecyclerItemClickListener(this, mRecyclerView, new RecyclerItemClickListener.OnItemClickListener() {
                @Override
                public void onItemClick(View view, int position) {// do whatever
                    if(position!=0){
                        setItemChecked(position, true);
                        setSelectable(true);
                        boolean isSelected = view.isSelected();
                        view.setActivated(isSelected);

                        selectItem(position);
                    }
                }
                @Override
                public void onItemLongClick(View view, int position){
                    // ...
                }
            })
    );

我基于此博客 post 中的这段代码:RecyclerView part 2 但它没有完成工作,对我来说,我根本不清楚我应该如何让它工作。 我还检查了这个看似简单的解决方案:Innodroid - Tracking Selected Item in RecyclerView (also quoted in this answer) 但不清楚我应该如何将我的 MyAdapter class 推导到 TrackSelectionAdapter class.

突出显示列表项的最佳方式是什么?我卡住了。

请帮忙。

我想,我找到了关于如何使用 RecyclerView 的最佳教程,它具有我们需要的所有功能且没有库(单选+多选、高亮、波纹、多选中的单击和删除等...) .乍一看似乎解释得很好。

在这里 --> http://enoent.fr/blog/2015/01/18/recyclerview-basics/

[编辑] 我终于抽出时间来尝试了,我什至创造了我自己的更灵活的,每个人都可以受益于我的改进https://github.com/davideas/FlexibleAdapter。 在此 link 中,我还解释了它是如何工作的。请查看并随时将其添加到您的项目中。