Navigation Drawer 中真正向下钻取导航的最佳方法

Posted

技术标签:

【中文标题】Navigation Drawer 中真正向下钻取导航的最佳方法【英文标题】:Best method for true drill-down navigation in Navigation Drawer 【发布时间】:2014-05-18 05:43:46 【问题描述】:

我完全知道自己想做什么,但对 android 编程很陌生。我浏览了无数教程并到处搜索,但找不到任何代码示例,说明如何在 Navigation Drawer 中使用多个列表视图(或其他方法,如果有更好的方法)来实现真正的多级向下钻取菜单。我说的是 4 个甚至 5 个层次结构。可扩展的列表视图对我不起作用。我能找到的最佳解释是位于此处的“Dropbox”示例:http://www.androidpatterns.com/uap_pattern/drill-down-navigation

假设这是针对产品目录的。所以 listview #1 会有计算机、电器、视频、音频等选项。 Listview #2 将使用 Stereos、Speakers、Cables 等选项重新填充 NavDrawer 列表(假设他们选择 Audio),Listview #3 将使用 Sony、Yamaha 等重新填充列表(假设他们选择 Stereos),最后listview #4 将列出所有 Sony 立体声音响。当他们做出选择时,它会查询数据库并显示特定立体的片段视图。

我想我可以处理所有的数据库代码。真正阻碍我的是导航的功能。我是一个非常直观的学习者,因此您可以指出我的任何实际代码示例或教程都是无价的。预先感谢您的任何帮助! :)

【问题讨论】:

我想this 会回答你的问题。 本问答将回答您的问题。 ***.com/questions/22089033/… 【参考方案1】:

我会用Fragments 来实现它。对于层次结构中的每个级别,您都创建一个ListFragment,如果用户单击列表中的某个项目,您将执行FragmentTransaction 并将当前的Fragment 替换为下一个。我假设您知道如何实现ListFragment,如果不知道,我可以向您解释。除了发布完全实现的ListFragment 之外,我不确定要给您哪些代码示例,因为这并不是一个非常具体的问题。如果您解释到目前为止您已尝试过的内容或发布一些相关代码,也许我可以为您提供进一步的帮助。

【讨论】:

这听起来很棒。我假设这仍然会在导航抽屉中完成。我会做一些研究并尝试在第二天左右发布一些代码,因为我确信我的第一次尝试需要一些微调。 好的,这就是我目前的位置。我正在从网上下载一个数据库,使用 Marco 的代码来自:link。但我什至无法获得一个常规的列表视图来填充。由于每个人的代码似乎如此不同,因此很难知道将东西放在哪里。 我假设你已经看过这些,但在我看来,谷歌的官方指南是学习 Android 的最佳选择。你可以在那里找到你需要知道的一切,而不仅仅是编程。一方面,您有详细的设计指南,例如 this 和 here 是关于如何实现相同事物的指南。开始时我阅读了所有的设计指南和开发者指南,这对我很有帮助。 Link to the start of the design guides, Link to the start of the developer guides。只是为了澄清当我说设计时,我并不是指纯粹的样式和图形,而是如何构建移动 UI,何时使用某些控件和模式等。 感谢 Xavaer!我肯定需要花一些时间让自己跟上进度。我已经把我的问题归结为一个游标调用,但我认为我应该启动一个非常特定于该问题的新线程。我相信这是一个非常简单的解决方法,但话又说回来,只要你知道怎么做,一切都会变得简单。

以上是关于Navigation Drawer 中真正向下钻取导航的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章

有条件的 Drawer.Navigator 的 openByDefault 属性无法正常工作(“@react-navigation/drawer”:“^5.12.5”)

怎么自定义有navigation drawer效果的Android控件

如何在 react-native 中结合使用 Drawer Navigation 和 Stack Navigator?

android navigation drawer怎么用?

Android - Navigation Drawer

Android 开发之Navigation Drawer