【问题标题】:How to apply setItemChecked(position,true) with RecyclerView in Android?如何在 Android 中将 setItemChecked(position,true) 与 RecyclerView 一起应用?
【发布时间】:2015-06-24 02:30:44
【问题描述】:

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

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){
                    // ...
                }
            })
    );

我基于这篇博文中的代码:RecyclerView part 2,但它并没有完成工作,对我来说,我完全不清楚我应该如何让它工作。 我还检查了这个看似简单的解决方案:Innodroid - Tracking Selected Item in RecyclerView(也在此 answer 中引用)但不清楚我应该如何将我的 MyAdapter 类派生为 TrackSelectionAdapter 类。

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

请帮忙。

【问题讨论】:

    标签: android android-listview material-design android-recyclerview


    【解决方案1】:

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

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

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

    【讨论】:

    • 非常感谢本教程,它对我帮助很大!我已经实现了MyAdapter 类,然后使用onItemClickonItemLongClick 2 个方法扩展了CickListener 接口,并且工作起来就像一个魅力!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-22
    • 2017-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-12
    相关资源
    最近更新 更多