如何从第六次活动中回到家中

时间:2020-04-25 14:51:39

标签: java android firebase-realtime-database

当前我正面临这个问题,我将对其进行详细解释。我已经在应用程序中通过家庭活动创建了6个活动。像A,B,C,D,E,F,G一样。考虑到A是家庭活动。在B中,我将我的位置上传到当前用户ID节点中的firebase数据库中,之后,每个活动(如C,D等),我都会将更多详细信息上传到我的firebase数据库中。至少在G活动中,我设置了一个按钮来重定向到首页,如下面的代码所示。它可以完美地完成家庭活动,但是当我再次单击活动B时。它显示错误并出来。它显示的是在活动F中,我将检索一些数据,第一次不显示error,但是现在显示没有从数据库中检索的引用。我在应用程序中所做的一件事是,正如我在活动B中所说,我使用地图设置位置并将其上传到数据库中,每当我执行此操作时,我的userid节点中的所有其他数据都将被删除,并且此位置将最初设置并其次是其他人。

 btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Intent intent = new Intent(InchargeEventConfirmedActivity.this,InchargeHomeActivity.class);
            startActivity(intent);
            finish();
        }
    });

我尝试了多种可能的方式,例如FLAG_ACTIVITY_SINGLE_TOP等...,但未清除,有没有针对我的问题的最佳解决方案。在此先感谢

 private void Getdata2()
{
    Total_date_Ref.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot)
        {
            final String From_date = dataSnapshot.child("From").getValue().toString();
            final String To_date = dataSnapshot.child("To").getValue().toString();

            Total_service_dates1.setText(From_date);
            Total_service_dates2.setText(To_date);
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError)
        {

        }
    });
}

在上面的代码中,此行显示错误 最终字符串From_date = dataSnapshot.child(“ From”)。getValue()。toString(); 就像没有参考。但是第一次可以正常工作,在此活动之后,我将通过finish()传递到最终活动。在某些试验中,如果After再次回到家并再次单击Activity B,它将重定向到活动E;如果未将Activity G设置为finish(),它将重定向到该活动。

2020-04-25 21:02:15.571 25013-25013/com.example.smileyservice E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.smileyservice, PID: 25013
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
    at com.example.smileyservice.InchargeNewEvents.InchargeEventPreviewFinalActivity$8.onDataChange(InchargeEventPreviewFinalActivity.java:561)
    at com.google.firebase.database.core.ValueEventRegistration.fireEvent(com.google.firebase:firebase-database@@19.2.0:75)
    at com.google.firebase.database.core.view.DataEvent.fire(com.google.firebase:firebase-database@@19.2.0:63)
    at com.google.firebase.database.core.view.EventRaiser$1.run(com.google.firebase:firebase-database@@19.2.0:55)
    at android.os.Handler.handleCallback(Handler.java:873)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:201)
    at android.app.ActivityThread.main(ActivityThread.java:6806)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)

当我再次从活动A单击B活动时,将显示此错误,这意味着一个循环之后。 A B C D E F G(A)(B)。错误。此错误显示在活动F中。

0 个答案:

没有答案
相关问题