如何解决Android Studio 底部导航导致错误
我不知道如何解决它,我尝试了太多,但如果我进行底部导航,我的应用程序在启动画面后不幸停止工作,请帮助我
当我删除底部导航应用时效果很好但是当我添加底部导航时它不起作用但我需要添加底部导航我该如何解决这个错误
我的 xml 代码
<com.google.android.material.bottomnavigation.BottomNavigationView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/bottom_nav"
android:layout_alignParentBottom="true"
app:menu="@menu/bottom_menu"
tools:layout_editor_absoluteX="1dp"
android:background="@color/white"
app:itemIconTint="#00695C"
app:itemTextColor="#00695C"
tools:layout_editor_absoluteY="49dp"
/>
我的java文件代码
bottomNavigationView.findViewById(R.id.bottom_nav);
bottomNavigationView.setOnNavigationItemSelectedListener(onNav);
getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout,new HomeFragment()).commit();
`private BottomNavigationView.OnNavigationItemSelectedListener onNav=new BottomNavigationView.OnNavigationItemSelectedListener()` {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Fragment selected = null;
switch (item.getItemId()){
case R.id.nav_home:
selected = new HomeFragment();
break;
case R.id.nav_chat:
selected = new ChatFragment();
break;
case R.id.nav_discussion:
selected = new DiscussionFragment();
break;
case R.id.nav_notification:
selected = new NotificationFragment();
break;
case R.id.nav_profile:
selected = new ProfileFragment();
break;
}
getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout,selected).commit();
return true;
}
};
菜单
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/nav_home"
android:title="@string/home"
app:showAsAction="always"
android:icon="@drawable/ic_home"
/>
<item android:id="@+id/nav_chat"
android:title="@string/chat"
app:showAsAction="always"
android:icon="@drawable/ic_inbox"/>
<item
android:id="@+id/nav_discussion"
android:title="Discussion"
app:showAsAction="always"
android:icon="@drawable/ic_discussion"/>
<item
android:id="@+id/nav_notification"
android:title="@string/notification"
app:showAsAction="always"
android:icon="@drawable/ic_notification"/>
<item
android:id="@+id/nav_profile"
android:title="@string/profile"
app:showAsAction="always"
android:icon="@drawable/ic_profile"/>
</menu>
logcat 中显示的错误
07-05 01:24:26.822 5495-5514/com.example.appname E/ActivityThread: Failed to find provider
info for com.google.android.gms.chimera
07-05 01:24:26.823 5495-5514/com.example.appname E/DynamiteModule: Failed to load IDynamiteLoader from GmsCore: Application package com.google.android.gms not found
07-05 01:24:26.830 5495-5514/com.example.appname E/DynamiteModule: Failed to load IDynamiteLoader from GmsCore: Application package com.google.android.gms not found
07-05 01:24:27.591 5495-5515/com.example.appname E/ActivityThread: Failed to find provider info for com.google.android.gms.phenotype
07-05 01:24:32.340 5495-5495/com.example.appname E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.appname,PID: 5495
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.paragonssoft.community/com.paragonssoft.community.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View com.google.android.material.bottomnavigation.BottomNavigationView.findViewById(int)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View com.google.android.material.bottomnavigation.BottomNavigationView.findViewById(int)' on a null object reference
at com.example.appname.MainActivity.onCreate(MainActivity.java:35)
at android.app.Activity.performCreate(Activity.java:6237)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。