安卓工作室;BottomNavigationView=null,尽管正在重新组织代码



我看了下面的例子,仍然收到了相同的错误消息。BottomNavigationView为null请注意,在我的Java类中,在导入和@Override之间还有其他代码。然而,错误表明第66行就是错误,也就是下面的行:

navigationBottom.setOnNavigationItemSelectedListener(navListener);

我在网上到处找都找不到解决方案,有什么建议吗?这是我为android工作室的第一个项目之一,所以如果这是一个明显的修复,我很抱歉。

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.design.widget.BottomNavigationView.setOnNavigationItemSelectedListener(android.support.design.widget.BottomNavigationView$OnNavigationItemSelectedListener)' 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 'void android.support.design.widget.BottomNavigationView.setOnNavigationItemSelectedListener(android.support.design.widget.BottomNavigationView$OnNavigationItemSelectedListener)' on a null object reference
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) 

这是我的java类文件


import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MenuItem;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import java.io.InputStream;
import java.io.IOException;
import java.net.URL;
import android.support.design.widget.BottomNavigationView;
import android.support.v4.app.Fragment;
import java.net.MalformedURLException;
@Override
protected void onCreate(Bundle savedInstanceState) // onCreate is used to start an activity. super is used to call the parent class constructor. setContentView is used to set the xml
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); // setting the content view res
recyclerView = (RecyclerView) findViewById(R.id.parseData); // recycler view
arrayListOne = new ArrayList<String>(); // array list one
arrayListTwo = new ArrayList<String>(); // array list two
arrayLocation = new ArrayList<String>(); // date string
arrayDate = new ArrayList<String>(); // date string
arrayDepth = new ArrayList<String>(); // depth string
arrayMag = new ArrayList<String>();  // mag string
arrayLon = new ArrayList<String>(); // lon string
arrayLatLong = new ArrayList<String>(); // lat long string
BottomNavigationView navigationBottom = findViewById(R.id.navigationBottom); // bottom nav
navigationBottom.setOnNavigationItemSelectedListener(navListener);

new ProcessInBackground().execute();
}

这是我的.xml文件(bottom_navigation.xml(


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="650dp"
android:orientation="vertical">
<FrameLayout
android:id="@+id/fragmentLayout"
android:layout_width="match_parent"
android:layout_height="293pt"
android:layout_alignParentTop="true"
android:layout_marginTop="0dp">
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigationBottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="?android:attr/windowBackground"
app:menu="@menu/navigation_bottom" />
</FrameLayout>
</RelativeLayout>

请使用<include>标记或将其复制到MainActivity.xml中,将您的BottomNavigationView放入MainActivity..xml中。如果不这样做,它将不会膨胀,因此为null。

最新更新