我正在使用BottomNavigationViewEx库,并且在项目中升级了androidX。
BottomNavigationViewEx navigation = findViewById(R.id.navigation);
Logger.d(TAG, "navigation == null " + (navigation == null));
if (navigation != null) {
navigation.setCurrentItem(2); // Line 170: This make crash
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
navigation.setTextVisibility(false);
navigation.enableAnimation(false);
navigation.enableShiftingMode(false);
navigation.enableItemShiftingMode(false);
int iconSize = 36;
navigation.setItemHeight(BottomNavigationViewEx.dp2px(this, iconSize + 16));
navigation.setIconSize(iconSize, iconSize);
}
它生成下面的错误日志,并崩溃。 我该如何解决?
java.lang.NoSuchFieldException:类Lcom / google / android / material / bottomnavigation / BottomNavigationView中没有字段mMenuView;(“ com.google.android.material.bottomnavigation.BottomNavigationView”的声明出现在/data/app/com.calm_health.research-2/base.apk中),位于com的java.lang.Class.getDeclaredField(本机方法)。 com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx.getBottomNavigationMenuView(BottomNavigationViewEx.java:552)上的tian.com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx.java:802位于com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx.java .calm_health.com.researcher.MainActivity.onCreate(MainActivity.java:170)
该库未更新,并与旧类一起使用反射android.support.design.widget.BottomNavigationView。
这意味着该库在旧的支持设计库提供的类中寻找私有字段和方法。借助材料组件库(androidx要求),这些字段和方法可能会有所不同,或者将来可能会更改。 正如您可以检查到的错误一样,库正在寻找mMenuView中没有的错误BottomNavigationView。 java.lang.NoSuchFieldException:类Lcom / google / android / material / bottomnavigation / BottomNavigationView中没有字段mMenuView;(“ com.google.android.material.bottomnavigation.BottomNavigationView”的声明出现在/data/app/com.calm_health.research-2/base.apk中),位于java.lang.Class.getDeclaredField(本机方法),位于
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。