首页 > 解决方案 > 用户输入所有数据后检索数据时应用程序崩溃?

问题描述

我关于如何从数据库中检索数据的代码。数据成功保存在数据库中,突然我的应用程序崩溃并且无法检索数据......

ViewAdsRef.addValueEventListener(new ValueEventListener()
    {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot)
        {
            if ((dataSnapshot.exists()))
            {
                String retrieveTuitionImage = dataSnapshot.child("adstuitionimage").getValue().toString();
                String retrieveTuitionName = dataSnapshot.child("adstuitioname").getValue().toString();
                String retrieveProviderName = dataSnapshot.child("adsprovidername").getValue().toString();

                Picasso.get().load(retrieveTuitionImage).placeholder(R.drawable.photocamera).into(ViewTuitionImage);

                ViewTuitionName.setText(retrieveTuitionName);
                ViewProviderName.setText(retrieveProviderName);
            }

            else
            {

            }
        }

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

        }
    });

Logcat 显示如下:-

08-26 12:17:16.345 15709-15709/com.addaj.mobilerecommendationsystem E/SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE 跨度不能有零长度 SPAN_EXCLUSIVE_EXCLUSIVE 跨度不能有零长度 08-26 12:17:17.126 15709-15709/com.addaj .mobilerecommendationsystem E/SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE 跨度不能有零长度 08-26 12:17:17.127 15709-15709/com.addaj.mobilerecommendationsystem E/SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE 跨度不能有零长度 08-26 12:17:40.366 -15709/com.addaj.mobilerecommendationsystem E/SpannableStringBuilder:SPAN_EXCLUSIVE_EXCLUSIVE 跨度不能有零长度 SPAN_EXCLUSIVE_EXCLUSIVE 跨度不能有零长度 08-26 12:18:23.902 15709-15709/com.addaj.mobilerecommendationsystem E/AndroidRuntime:致命例外:主要流程:com.addaj.mobilerecommendationsystem,PID:15709 java.lang.RuntimeException:无法启动活动ComponentInfo {com.addaj.mobilerecommendationsystem/com.addaj.mobilerecommendationsystem.ViewAdsActivity}:java.lang.NullPointerException:尝试调用虚拟方法'void android .support.v7.app.ActionBar.setDisplayHomeAsUpEnabled(boolean)' 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2721) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2782) 的空对象引用上android.app.ActivityThread.-wrap12(ActivityThread.java) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1521) 在 android.os。 Looper.loop(Looper.java:163) 在 android.app。ActivityThread.main(ActivityThread.java:6228) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) 在 com.android。 internal.os.ZygoteInit.main(ZygoteInit.java:794) 原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 'void android.support.v7.app.ActionBar.setDisplayHomeAsUpEnabled(boolean)'在 com.addaj.mobilerecommendationsystem.ViewAdsActivity.onCreate(ViewAdsActivity.java:60) 在 android.app.Activity.performCreate(Activity.java:6860) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) 在 android。 app.ActivityThread.performLaunchActivity(ActivityThread.java:2674) 在 android.app.ActivityThread。handleLaunchActivity(ActivityThread.java:2782) 在 android.app.ActivityThread.-wrap12(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1521) 在 android.os.Handler.dispatchMessage(Handler. java:102) 在 android.os.Looper.loop(Looper.java:163) 在 android.app.ActivityThread.main(ActivityThread.java:6228) 在 java.lang.reflect.Method.invoke(Native Method) 在 com .android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:163) at android.app.ActivityThread.main(ActivityThread.java:6228) at java.lang.reflect.Method.invoke(Native方法)在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:163) at android.app.ActivityThread.main(ActivityThread.java:6228) at java.lang.reflect.Method.invoke(Native方法)在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794) 

标签: javaandroid

解决方案


错误日志说你调用setDisplayHomeAsUpEnabled()了一个内部没有初始化的对象(空值)ViewAdsActivity

我猜可能是getActionBar()返回null?

请参阅:什么是 NullPointerException,我该如何解决?


推荐阅读