Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Firebase onDataChange-空对象引用_Java_Android_Firebase - Fatal编程技术网

Java Firebase onDataChange-空对象引用

Java Firebase onDataChange-空对象引用,java,android,firebase,Java,Android,Firebase,我想问问有没有人能帮我修一下。。因为我一直在寻找并试图自己修复它,但是。。没有 以下是我的logcat错误: E/AndroidRuntime: FATAL EXCEPTION: main Process: com.app.mk.transportrider, PID: 23152 java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.app.mk.transp

我想问问有没有人能帮我修一下。。因为我一直在寻找并试图自己修复它,但是。。没有

以下是我的logcat错误:

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.app.mk.transportrider, PID: 23152
    java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.app.mk.transportrider.Model.Rider.getName()' on a null object reference
        at com.app.mk.transportrider.Home$5$1.onDataChange(Home.java:364)
        at com.google.firebase.database.zzp.onDataChange(Unknown Source:7)
        at com.google.android.gms.internal.firebase_database.zzfc.zza(Unknown Source:13)
        at com.google.android.gms.internal.firebase_database.zzgx.zzdr(Unknown Source:2)
        at com.google.android.gms.internal.firebase_database.zzhd.run(Unknown Source:71)
        at android.os.Handler.handleCallback(Handler.java:789)
        at android.os.Handler.dispatchMessage(Handler.java:98)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6944)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
这是我的“代码”:

(Home.java:364)是行代码.title(rider.getName())

啊。。如果还有什么我可以提供给你更多的,你需要的,我会尽快发布

请理解。。我有点想自己弄到这些东西,但没办法。。我只是被卡住了,即使是这么简单:(

谢谢。

在这行代码之前添加“if(dataSnapshot.exists())。开始工作:)


如果它不为null,请首先检查它<代码>如果(dataSnapshot!=null)不工作。。不确定我做的是否正确
DatabaseReference driverLocation = FirebaseDatabase.getInstance().getReference(Common.driver_tbl);
GeoFire gf = new GeoFire(driverLocation);

GeoQuery geoQuery = gf.queryAtLocation(new GeoLocation(mLastLocation.getLatitude(), mLastLocation.getLongitude()), distance);
geoQuery.removeAllListeners();


geoQuery.addGeoQueryEventListener(new GeoQueryEventListener() {
    @Override
    public void onKeyEntered(String key, final GeoLocation location) {


        FirebaseDatabase.getInstance().getReference(Common.user_driver_tbl)
                .child(key)
                .addListenerForSingleValueEvent(new ValueEventListener() {
                    @Override
                    public void onDataChange(DataSnapshot dataSnapshot) {

                        // Same model *users* & *driver*
                        // using the ssame model ---
                        Rider rider = dataSnapshot.getValue(Rider.class);

                        mMap.addMarker(new MarkerOptions()
                                .position(new LatLng(location.latitude, location.longitude))
                                .flat(true)
                                .title(rider.getName())
                                .snippet("Phone: " + rider.getPhone())
                                .icon(BitmapDescriptorFactory.fromResource(R.drawable.car)));
                    }

                    @Override
                    public void onCancelled(DatabaseError databaseError) {

                    }
                });
Rider rider = dataSnapshot.getValue(Rider.class);

                        mMap.addMarker(new MarkerOptions()
                                .position(new LatLng(location.latitude, location.longitude))
                                .flat(true)
                                .title(rider.getName())
                                .snippet("Phone: " + rider.getPhone())
                                .icon(BitmapDescriptorFactory.fromResource(R.drawable.car)));