- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题背景
我只是从项目模板中选择了 Navigation Drawer Template(参见图中突出显示的项目),构建了应用程序并在模拟器 (Android Nougat (v7) API 24) 上运行它。
问题
当我打开菜单并选择另一个项目时,它不会加载新项目(通过 Controller 加载新 fragment )。
问题的更多细节
我尝试过的
我在另一个运行 Android Pie 的模拟器上运行了这个相同的项目,它按预期工作——当我点击画廊菜单项时,画廊 fragment 加载,我看到“This is Gallery fragment”。
我尝试过的其他事情
我也打开了 logcat,然后单击菜单项,但没有显示任何内容,即使我已关闭所有过滤器也是如此。
相关模板代码
onCreate 中 MainActivity 中的模板代码(加载 fragment 和 Controller ,初始化所有内容)如下所示:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val toolbar: Toolbar = findViewById(R.id.toolbar)
setSupportActionBar(toolbar)
val fab: FloatingActionButton = findViewById(R.id.fab)
fab.setOnClickListener { view ->
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show()
}
// ###########################################################
// #### MY NOTES -- This is the relevant code ################
val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
val navView: NavigationView = findViewById(R.id.nav_view)
val navController = findNavController(R.id.nav_host_fragment)
// Passing each menu ID as a set of Ids because each
// menu should be considered as top level destinations.
appBarConfiguration = AppBarConfiguration(setOf(
R.id.nav_home, R.id.nav_gallery, R.id.nav_slideshow), drawerLayout)
setupActionBarWithNavController(navController, appBarConfiguration)
navView.setupWithNavController(navController)
}
我可以登录什么/在哪里来确定发生了什么?
你能告诉我为什么会这样吗?
或者,您能给我一个想法,我可以在其中放置一些日志记录语句来确定正在触发的内容,以便我可以判断出什么是失败的吗?
更新 - 附加信息
模板肯定有问题,因为 mobile_navigation.xml 引用了项目中根本不存在的类:
即使此项目中不存在 app.actionmobile.navdraw.ui.home.HomeSecondFragment
,该应用仍会构建并运行。唔....不确定这怎么可能。
仅供引用 - 这是由项目模板添加的,不是我添加的。
我试过的其他东西我将更改后的 mobile_navigation.xml 顶部设置为:
app:startDestination="@+id/nav_home"
到
app:startDestination="@+id/nav_gallery"
测试了画廊 fragment 是否会作为第一个 fragment 加载并且没有问题。
重述问题
我再次遇到的问题是菜单项的选择不会在牛轧糖上加载新 fragment ,但会在派上加载。不确定平台如何解决这个问题???
最佳答案
您可能是对的,一些旧的依赖项引用可能会导致 NavigationUI 的一般实现出现问题和冲突。不幸的是,我通过以下方式在新创建的项目中遇到了同样的问题:
Android Studio 4.0.1
构建 #AI-193.6911.18.40.6626763,构建于 2020 年 6 月 25 日
运行时版本:1.8.0_242-release-1644-b01 amd64
我终于发现,除了您的建议之外,我还必须在 MainActivity 的 onCreate 方法结束之前添加以下行:
val navView: NavigationView = findViewById(R.id.nav_view) as NavigationView
navView.setupWithNavController(navController)
...
// Extra line:
navView.bringToFront()
关于android - 为什么 Navigation Drawer 项目模板 (Studio 3.6.1) 无法在 Android Nougat 上加载正确的 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60459214/
默认情况下 mat-drawer-container/mat-sidenav-container 和 mat-drawer/mat-sidenav 高度基于 mat-drawer-cont
我注意到 Scaffold.drawer 的 Drawer 只有在存在 Scaffold 的 AppBar 时才会显示。 但是,我使用了位于 BottomNavigationBar 中的 Bottom
我正在使用基本的 React 设置和 React mdl ( https://react-mdl.github.io/react-mdl ) 组件构建一个带有布局的 Web View 。当然,我的模板
我创建了一个新线程 from this one为了避免混淆,因为有人告诉我 Leftnav 现在是 Material-UI 组件中的 Drawer。 我还有问题,第一个是ES7?箭头函数的语法 sho
您好,我正在尝试从抽屉中在我的导航 View 中放置一个事件 Item click 它工作正常,但问题是我抽屉中的其他项目停止工作,似乎在我的导航 View 上放置一个项目单击事件会影响我的导航 Co
<-- 抽屉图标 如果您使用 android studio 创建一个带有抽屉导航的项目,当您打开/关闭抽屉时,抽屉图标会有流畅的动画效果。 如果我向我的抽屉布局添加一个抽屉监听器,则不再有动画,抽屉图
我正在创建一个具有抽屉导航的应用程序。首先它正在工作,但是当我编辑工具栏的layout_gravity以结束时,我收到错误 java.lang.IllegalArgumentException: No
我正在开发一个支持多个计数器的计数器应用程序。由于 flutter 不提供侧板模式,我使用抽屉导航作为侧板。 我有一个脚手架,它的主体中有一个卡片的 GridView。这些卡每个都有一个名称和一个计数
可能有人知道为什么“shadowColor”属性不适用于 Android 上的抽屉样式? (iOS 看起来一切正常) 重现步骤/代码片段/截图 环境 react-native-drawer 版本:2
我要开通Drawer以编程方式而不是通过滑动它,如何禁用该滑动功能(抽屉的触摸功能) 最佳答案 要禁用幻灯片打开功能,您可以设置属性 drawerEnableOpenDragGesture在脚手架上为
当我拉动抽屉并选择一个页面导航到它时,就像创建一个新实例一样,例如,如果我在同一页面上单击 4 次,它会显示打开新页面 4 次的动画,而当我按下手机的后退按钮。 new ListTile(
我正在使用 android 导航组件开发 android,但我收到以下警告 None of the following functions can be called with the argumen
我正在使用 android 导航组件开发 android,但我收到以下警告 None of the following functions can be called with the argumen
当我触摸这个区域时,我得到了强制关闭: 一个人很伤心,这里没有 .closeDrawer();我不知道,我必须在哪里创建它。这是我的日志: 08-17 20:18:28.275: E/InputEve
getActionBar().setHomeButtonEnabled(true); getActionBar().setDisplayHomeAsUpEnabled(true);
我正在开发使用抽屉导航的应用程序。不幸的是我不知道,当用户在主屏幕上按下后退按钮时,我该如何完成这个应用程序?我试图覆盖后退按钮并在那里完成我的 Activity ,但这不起作用。 Activity
我正在尝试编写我自己的 recyclerview 选择器算法。到目前为止,除了处理第一个选择之外,我已经成功地编写了部分代码。基本上我想将所选项目的背景设置为蓝色,其他地方设置为白色(与 ListVi
我已经开始开发一个 android 应用程序,它包含以下内容: MainActivity:扩展 FragmentActivity。 几个 fragment :扩展 android.support.v4
我正在尝试在我的仪表板 Activity 上实现 Navigation Drawer Activity。在我的应用程序中,我创建了一个主题,其中删除了“Toolbar/ActionBar”,只是在 c
我已经制作了我的抽屉导航并且它工作正常,它是根据新的设计规则。但现在我遇到了一个问题,经过几次搜索,到目前为止我还没有发现任何关于它的注释。所以我最后在这里提出问题。 到目前为止我所做的是类似的事情
我是一名优秀的程序员,十分优秀!