【发布时间】:2020-06-10 00:00:17
【问题描述】:
Android Studio 4。 新的项目导航抽屉活动。 添加名称等,然后构建。 发送到 Nexus 6P API 28 仿真、Pixel 3a API29 仿真。 也适用于三星 SM-J530Y Android 9 和诺基亚 7Plus Android 10。
所有实例都允许打开抽屉,所有实例都不允许选择抽屉,但尝试选择条目会关闭抽屉。
我在 navController 中添加了一个 onDestinationChangedListener,这只会触发初始的主页选择事件。
尝试添加 navView.setNavigationItemSelectedListener,但从未触发
搜索只会拖出旧问题,但不会使用较新的 NavController。 尝试更新到最新的 beta01 kotlin 依赖项
def navVersion = "2.3.0-beta01"
implementation "androidx.navigation:navigation-fragment-ktx:$navVersion"
implementation "androidx.navigation:navigation-ui-ktx:$navVersion"
来自模板“2.2.2”
还添加了应用插件:'androidx.navigation.safeargs.kotlin' 无济于事。
我会拔掉一些头发,但我已经没有多少了。
我想在我的寻呼机应用程序中添加抽屉导航,使其远离选项卡,因此有兴趣让它发挥作用。
【问题讨论】:
-
听起来您的布局可能有问题。充当抽屉的
<View>必须在<DrawerLayout>中最后列出。假设在该特定模板中它仍然是<NavigationView>,那么只需确保它是<DrawerLayout>中的最后一个子元素。如果这是问题所在,并且您自己没有更改该布局,请告诉我。它可能已由您的 IDE 自动完成,我们可能必须更改设置以使其停止这样做。 -
除了在 MainActivity onCreate 中添加处理程序以确定是否正在生成事件之外,我没有进行任何更改。我检查了 activity_main.xml 并且 NavigationView 在包含内容布局之前。我交换了这些,然后她走了。现在可以了。谢谢迈克 M。
-
没问题。如果这次可能只是侥幸,但该模板应该以正确的顺序开始布局。如果您注意到此问题再次出现——或者如果您对任何其他布局自动重新排序有疑问——您可能需要调整设置以让 Android Studio 停止这样做。在this post 中有解释。仅供参考。真高兴你做到了。干杯!
标签: android navigation navigation-drawer androidx navigationcontroller