gpt4 book ai didi

android - 使用 viewBinding 时无法解析方法 'getRoot()'

转载 作者:行者123 更新时间:2023-12-04 13:15:27 39 4
gpt4 key购买 nike

我在我的项目中使用 viewBinding,效果很好。但是我有一个问题,在 View view = binding.getRoot() 这一行中无法解决 getRoot()。我的代码运行良好,没有任何崩溃,但我希望错误消失,但似乎无法解决问题。我试过禁用和重新启用 viewBinding、使缓存无效并重新启动和清理项目,但这个烦人的错误似乎并没有消失。

这是我的代码

构建.gradle

...
viewBinding {
enabled = true
}
...

主 Activity

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActivityMainBinding binding = ActivityMainBinding.inflate(getLayoutInflater());
View view = binding.getRoot();
setContentView(view);

binding.bottomNavigationView.setOnNavigationItemSelectedListener(navListener);
...
}

主要 Activity

...
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_navigation_view"
style="@style/Widget.MaterialComponents.BottomNavigationView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="?attr/colorSurface"
app:menu="@menu/bottom_nav_menu" />
...

最佳答案

我终于修好了!!

我在 docs 中读到binding.getRoot() 获取相应布局中的 Root View (最外层 View )。所以我想我应该给 Root View 一个 ID 并改为调用该 ID。

activity_main

<RelativeLayout
android:id="@+id/root"
...>
</RelativeLayout>

主 Activity

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActivityMainBinding binding = ActivityMainBinding.inflate(getLayoutInflater());
View view = binding.root;
setContentView(view);
...
}

关于android - 使用 viewBinding 时无法解析方法 'getRoot()',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60997742/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com