java - ChipNavigationBar如何初始化java代码
问题描述
美好的一天,谁能帮我运行或初始化 ChipNavigationBar 的 java 代码?任何人都可以帮助我使用正确的 java 代码吗?XML。文件工作正常和菜单目录,我需要做的就是实现单击我的导航栏。
这是来自 logcat 的错误消息
Caused by: java.lang.ClassCastException: com.ismaeldivita.chipnavigation.ChipNavigationBar cannot be cast to
com.google.android.material.bottomnavigation.BottomNavigationView
`at dealmagnet.com.home.Owner.onCreate(Owner.java:34)`
依赖项
implementation 'com.ismaeldivita.chipnavigation:chip-navigation-bar:1.2.0'
implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.3.72'
Java 代码
//Line 34 from logcat error mssg is the first line here
BottomNavigationView navigationBar = findViewById(R.id.navigation_bar);
navigationBar.setSelectedItemId(R.id.home_menu);
navigationBar.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
try {
switch ( menuItem.getItemId()){
case R.id.home_menu:
return true;
case R.id.search_menu:
startActivity(new Intent(getApplicationContext(), Search.class));
overridePendingTransition(0, 0);
return true;
case R.id.notification_menu:
startActivity(new Intent(getApplicationContext(), Notification.class));
overridePendingTransition(0, 0);
return true;
case R.id.account_menu:
startActivity(new Intent(getApplicationContext(), Account.class));
overridePendingTransition(0, 0);
return true;
case R.id.settings_menu:
startActivity(new Intent(getApplicationContext(), Setting.class));
overridePendingTransition(0, 0);
return true;
}
}catch (Exception e){
e.printStackTrace();
}
return false;
}
});
解决方案
您正在尝试投射 Logcat 告诉您的不可转换的类。
BottomNavigationView navigationBar = findViewById(R.id.navigation_bar);
如果您使用的是这个库,那么您需要使用如下 -
在 xml 文件中
<com.ismaeldivita.chipnavigation.ChipNavigationBar
android:layout_width="match_parent"
android:layout_width="wrap_content"
........
/>
在你的java代码中
ChipNavigationBar navigationBar = findViewById(R.id.navigation_bar);
//rest of your code
快乐编码!
推荐阅读
- java - 最小值和最大值
- django-models - “没有名为 'razorpay' 的模块”:Django restframework
- postgresql - Postgres n_tup_ins 与从未分析过的表的行数不匹配
- python - 如何在一个函数调用中按块加密和解密?
- kotlin - 使用 Jetpack Compose 导航
- flutter - 使用前一个小部件的索引值
- android - Android Gradle 读取风味文件
- string - AWS Cloudformation 属性 SubnetIds 的值必须是字符串列表类型
- python - 使用 pyinstaller 时无法加载本机模块“Crypto.Cipher._raw_ecb”
- typescript - 有没有办法指定泛型函数的基本类型?