对于在DrawerLayout中使用RecolyerView还是ListView我有点困惑。
我读了一篇教程,其中解释了如何使用RecolyerView创建NavigationDrawer。
根据Google的说法:RecolyerView是
1)用于显示大型数据集的容器,通过维护有限数量的视图可以非常高效地滚动这些数据集。
2)在内部使用了一个布局管理器。布局管理器将项视图放置在RecyclerView中,并确定何时重用用户不再可见的项视图。要重用(或回收)视图,布局管理器可能会要求适配器用与数据集不同的元素替换视图的内容。
因为Navigation Drawer中有一个非常小的数据集(header+一个短列表),并且所有的项目仍然对用户可见,所以我无法从1)和2)中的Recolyer视图“功能”中获益。
甚至Google在NavigationDrawer中使用了ListView。
我想我可以使用ListView.AddHeader()
为DrawerLayout中的header创建一个特殊视图。
所以我的问题是我是否应该更喜欢RecolyerView而不是DrawerLayout中的ListView?
你的解释很好。现在回答您的问题,如果您计划将来在导航抽屉中使用可展开列表项,那么如果您现在使用recyclerview
,则需要准备实现可展开的recyclerview(默认情况下不存在)。因此,在这种情况下,expandablelistview
将是一个更容易实现的解决方案。但是,如果您不需要抽屉中的任何可展开项功能,那么如果您使用的是大型数据集,那么使用recyclerview
将是一种更好的方法。正如您所说的,您有一个小的数据集,我认为如果您使用ListView
或RecyclerView
将不会产生多大影响。不过,由于recyclerView
更灵活,为什么不只使用recyclerView
。
根据您的需求,我建议您导入android design support library,这样您就可以使用NavigationView
,它通过提供导航抽屉所需的框架以及通过菜单资源膨胀导航项的能力,使之更加容易。
我有一块碎片。加载的视图的onCreateView方法上的这个片段有一个ListView(a)(在适配器(a)中填充)。但是,此ListView(A)中有另一个ListView(B)。所以现在,我必须调用适配器(B)来填充这个listview(B)。如果我从片段调用它,我会得到一个空指针,如果我从适配器调用它(a),它不会崩溃,但不会工作。 如何调用另一个适配器中的适配器。 这是片段的代码: 其中
我想在计数器的基础上排序listview,但我无法做到这一点,请任何人帮助我。 在这里,我正在分享我的代码和屏幕截图。 这是链接到列表视图的适配器 自定义适配器组.java 下面是使用ListView的代码 Fragment_groups.java 这是屏幕截图
我知道这个问题很常见,但我真的很困惑如何将onClickListener应用到我的navigationDrawer项目中,我有两个项目,即编辑配置文件和注销。如果选择了其中一个项目,我只想进行Toast或打印。是否有人可以帮助我,我已经在互联网上搜索过了,但还没有找到onClickListener,需要帮助 我想我的主活动中缺少了一个 OnCreate()主活动 侧菜单。xml sidebar_h
如何在中添加自定义布局并设计我创建自定义使用材料设计,我想将我的抽屉图标放在右边,文本放在左边,如下所示
我的应用程序中有一个包含字符串的ListView。现在,我想通过一个输入字段过滤这个列表。但是我找到的所有关于FilteredLists的示例都是关于如何筛选表的。 如何使用FilteredList筛选ListView?
我试图制作一个RecyclizerView,它将进入我的片段的两页之一。这些页面放在 NavigationDrawer 活动中。目标是创建类似于Play商店应用首页的内容。 但是我在运行时的这段代码中发现了一个错误。上面写着: 我一直在看一些SO线程,他们说布局没有正确加载。这导致一些元素没有按预期链接。另一位在评论中说,问题在于上下文未正确初始化。对我来说情况并非如此(而是RecyclizerV