Android 资源链接失败 activity_main.xml :19: error: attribute android:defaultNavHost not found after adding navigation components

标签 android attributes androidx android-architecture-navigation

最近我对令人兴奋的新 android 工具感到非常兴奋。其中导航字面上吸引了我。我以为这个code lab开始会很棒。尽管如此,作为一个绝对的初学者,我发现它有点有趣,因为它没有说明任何关于设置导航组件的分步操作。因此,我开始将其分成小部分,并开始将其实现到一个单独的项目中。

我的主要 Activity 代码

class MainActivity : AppCompatActivity() {

 override fun onCreate(savedInstanceState: Bundle?) {
 super.onCreate(savedInstanceState)
 setContentView(R.layout.activity_main)

setSupportActionBar(toolbar)
}

override fun onSupportNavigateUp(): Boolean =
  findNavController(R.id.my_nav_host_fragment).navigateUp()
}

在我的主要 Activity 布局中

<fragment
  android:layout_width="match_parent"
  android:layout_height="0dp"
  android:layout_weight="1"
  android:id="@+id/my_nav_host_fragment"
  android:name="androidx.navigation.fragment.NavHostFragment"
  android:navGraph="@navigation/mobile_navigation"
  android:defaultNavHost="true"
  />

此日志显示错误后 enter image description here

最佳答案

你的错误是不言自明的

Android resource linking failed activity_main.xml:19: error: attribute android:defaultNavHost not found

原因是你写错了属性 android:navGraph="@navigation/mobile_navigation" android:defaultNavHost="true" 应该是 app:navGraph="@navigation/mobile_navigation" app:defaultNavHost="true"

如果您编辑这些属性,您将看到您的项目构建成功,并且在您的导航图文件中显示为默认导航主机 enter image description here ,希望它能回答您的问题。

关于Android 资源链接失败 activity_main.xml :19: error: attribute android:defaultNavHost not found after adding navigation components,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52779936/

相关文章:

android - Flutter 返回 `lifecycle-common-java8.jar (androidx.lifecycle:lifecycle-common-java8:2.0.0)` 错误

java - Android 应用程序中的 ClassCastException

android - LayerDrawable 异常

android - 是否可以将尺寸设置为独立于 map 缩放级别的 groundOverlay?

ios - textView.typingAttributes 不适用于预测

asp.net-mvc - MVC 中的 HttpPost 与 HttpGet 属性 : Why use HttpPost?

php - Magento:如何将制造国属性复制到另一个属性中?

android - AppCompat 是否可以在 API 23+ 上忽略?

android - 为什么 butterknife 9.0.0-SNAPSHOT 无法解析?

android - 按月计算值总和(以毫秒为单位)