簡體   English   中英

任何人都可以告訴我我的 Android Studio Java 代碼有什么問題...正在嘗試實現底部導航欄

[英]Can Anyone Tell me whats the problem in my Android Studio Java Code... Trying to implement bottom Navigation Bar

主活動.java

公共類 MainActivity 擴展 AppCompatActivity {

BottomNavigationView bottomNavigationView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    bottomNavigationView = findViewById(R.id.bottom);

    bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
            switch (item.getItemId()) {
                case R.id.alltasks:
                    Toast.makeText(MainActivity.this, "Hey", Toast.LENGTH_SHORT).show();
                default:
                    Toast.makeText(MainActivity.this, "Cool", Toast.LENGTH_SHORT).show();
            }
            return true;
        }
    });

}

}

底部_app.xml

<item
    android:id="@+id/pending"
    android:enabled="true"
    android:icon="@drawable/ic_task"
    android:title="App"/>
<item
    android:id="@+id/Donetask"
    android:enabled="true"
    android:icon="@drawable/ic_baseline_done_24"
    android:title="Done"/>
<item
    android:id="@+id/alltasks"
    android:enabled="true"
    android:icon="@drawable/ic_all"
    android:title="All Task"/>

活動_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">


    <fragment
        android:id="@+id/fragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />


    <com.google.android.material.bottomnavigation.BottomNavigationView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#FFF"
        android:layout_alignParentBottom="true"
        android:id="@+id/bottom"
        app:menu="@menu/bottom_app_menu"/>


</RelativeLayout>

請告訴我為什么當我的應用程序啟動它立即崩潰時我在啟動時收到此錯誤

進程:com.imdigitalashish.vatodolistapp,PID:2889 java.lang.RuntimeException:無法啟動活動 ComponentInfo{com.imdigitalashish.vatodolistapp/com.imdigitalashish.vatodolistapp.MainActivity}:android.view.InflateException:二進制 XML 文件行 #10 :二進制 XML 文件第 10 行:在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2859) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2781) 在 android.app.ActivityThread.- wrap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1592) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper. java:164) 在 android.app.ActivityThread.main(ActivityThread.java:6518) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit. java:438) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 引起:android.view.InflateException :二進制 XML 文件第 10 行:二進制 XML 文件第 10 行:錯誤膨脹類片段引起:android.view.InflateException:二進制 XML 文件第 10 行:錯誤膨脹類片段引起:java.lang.NullPointerException at java。 lang.VMClassLoader.findLoadedClass(Native Method) at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:738) at java.lang.ClassLoader.loadClass(ClassLoader.java:363) at java.lang.ClassLoader.loadClass(ClassLoader. java:312) at android.app.Fragment.instantiate(Fragment.java:513) at android.app.FragmentContainer.instantiate(FragmentContainer.java:49) at android.app.FragmentManagerImpl.onCreateView(FragmentManager.java:3528) at android.app.FragmentController.onCreateView(FragmentController.java:98) at android.app.Activity.onCreateView(Activity.java:6233) at androidx.fragment.app.FragmentActivity.onCreateView(FragmentActivity.java:338) at android.view .LayoutInflater.createViewFromTag(LayoutInflater.java:780) 在 android.view.LayoutInflater.createViewFromTag( LayoutInflater.java:730) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:863) 在 android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:515) ) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:423) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:374) 在 androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:696) 在 androidx .appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:170) at com.imdigitalashish.vatodolistapp.MainActivity.onCreate(MainActivity.java:19) at android.app.Activity.performCreate(Activity.java:7023) at android。 app.Activity.performCreate(Activity.java:7014) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1215) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2734) at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2859) 在 android.app.ActivityThread.-w rap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1592) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper. java:164) 在 android.app.ActivityThread.main(ActivityThread.java:6518) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit. java:438) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

這是我得到的錯誤

在您的 XML 中,您正在使用:

    <fragment
        android:id="@+id/fragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />

<fragment>標簽必須有一個android:name指向一個有效的 Fragment 類。 您收到NullPointerException的原因是您沒有提供任何片段類來放入您的<fragment>標記中。

如果您只想要一個沒有任何初始片段的空框,您可以用<FrameLayout>替換該標簽。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM