如何解决底部导航视图无法获取课程
我最近将项目迁移到androidx,这给了我一个新的错误 在我迁移到androidx之前,它可以完美地工作 问题出在底部导航视图上 我不明白为什么迁移会导致底部导航无法正常运行,并且以前运行正常 这是我的原木猫
2020-10-23 11:50:36.005 1770-1770/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: umo.com.players,PID: 1770
java.lang.RuntimeException: Unable to start activity ComponentInfo{umo.com.players/umo.com.players.Home.HomeActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.class java.lang.Object.getClass()' on a null object reference
at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:2868)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2958)
at android.app.ActivityThread.-wrap12(UnkNown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1653)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6739)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:449)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.class java.lang.Object.getClass()' on a null object reference
at com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx.getBottomNavigationItemViews(BottomNavigationViewEx.java:474)
at com.ittianyu.bottomnavigationviewex.BottomNavigationViewEx.enableAnimation(BottomNavigationViewEx.java:246)
at umo.com.players.Utils.BottomNavigationViewHelper.setupBottomNavigationView(BottomNavigationViewHelper.java:30)
at umo.com.players.Home.HomeActivity.setupBottomNavigationView(HomeActivity.java:197)
at umo.com.players.Home.HomeActivity.onCreate(HomeActivity.java:79)
at android.app.Activity.performCreate(Activity.java:7045)
at android.app.Activity.performCreate(Activity.java:7036)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1217)
at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:2815)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2958)
at android.app.ActivityThread.-wrap12(UnkNown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1653)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6739)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:449)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
这是我的底部导航视图类
public class BottomNavigationViewHelper {
private static final String TAG = "BottomNavigationViewHel";
public static void setupBottomNavigationView(BottomNavigationViewEx bottomNavigationViewEx){
Log.d(TAG,"setupBottomNavigationView: Setting up BottomNavigationView");
bottomNavigationViewEx.enableAnimation(false);
bottomNavigationViewEx.enableItemShiftingMode(false);
bottomNavigationViewEx.enableShiftingMode(false);
bottomNavigationViewEx.setTextVisibility(false);
}
public static void enableNavigation(final Context context,final Activity callingActivity,BottomNavigationViewEx view){
view.setonNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()){
case R.id.ic_house:
Intent intent1 = new Intent(context,HomeActivity.class);//ACTIVITY_NUM = 0
context.startActivity(intent1);
callingActivity.overridePendingTransition(R.anim.fade_in,R.anim.fade_out);
break;
case R.id.ic_search:
Intent intent2 = new Intent(context,SearchActivity.class);//ACTIVITY_NUM = 1
context.startActivity(intent2);
callingActivity.overridePendingTransition(R.anim.fade_in,R.anim.fade_out);
break;
case R.id.ic_circle:
Intent intent3 = new Intent(context,CameraActivity.class);//ACTIVITY_NUM = 2
context.startActivity(intent3);
callingActivity.overridePendingTransition(R.anim.fade_in,R.anim.fade_out);
break;
case R.id.ic_alert:
Intent intent4 = new Intent(context,TournamentActivity.class);//ACTIVITY_NUM = 3
context.startActivity(intent4);
callingActivity.overridePendingTransition(R.anim.fade_in,R.anim.fade_out);
break;
case R.id.ic_android:
Intent intent5 = new Intent(context,ProfileActivity.class);//ACTIVITY_NUM = 4
context.startActivity(intent5);
callingActivity.overridePendingTransition(R.anim.fade_in,R.anim.fade_out);
break;
}
return false;
}
});
}
}
这是我的家庭活动
private void setupBottomNavigationView(){
Log.d(TAG,"setupBottomNavigationView: setting up BottomNavigationView");
BottomNavigationViewEx bottomNavigationViewEx = (BottomNavigationViewEx) findViewById(R.id.bottomNavViewBar);
BottomNavigationViewHelper.setupBottomNavigationView(bottomNavigationViewEx);
BottomNavigationViewHelper.enableNavigation(mContext,this,bottomNavigationViewEx);
Menu menu = bottomNavigationViewEx.getMenu();
MenuItem menuItem = menu.getItem(ACTIVITY_NUM);
menuItem.setChecked(true);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。