نحوه رفع خطای 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference

بروز شد ۱ سال ۸ ماه قبل توسط ر مرادی

سلام.

برنامه بنده اطلاعات رو از سرور میخونه و لینک ها هم https هستند

مشکل بنده مجدد اینه که تا اندروید 8.1 مشکلی نداره و برنامه به درستی اجرا میشه منتها بالاتر از این فورس کلوز میده و این خطا رو به من نمایش میده:

Attempt to invoke virtual method ‘boolean java.lang.String.equals(java.lang.Object)’ on a null object reference

ولی تا اندروید 8.1 مشکلی نداره و به درستی کار میکنه!

این کدها رو هم داخل مانی فست برنامه قرار دادم:

داخل تگ اپلیکیشن اینو قراردادم:

android:usesCleartextTraffic="true"
و پایین تگ اپلیکیشن هم اینو قراردادم:
<uses-library
    android:name="org.apache.http.legacy"
    android:required="false" />

<meta-data
android:name=”com.google.android.actions”
android:resource=”@xml/network_security_config” />

اکسپورت همه اکتیویتی ها رو هم true قرار دادم.

android:exported="true"

مشکل بنده از چیه؟

کدهای تون رو به این شکل تغییر بدید و مجدد چک کنید :

    if (ActivityShowLifeInsure != null && ActivityShowLifeInsure.data != null && !ActivityShowLifeInsure.data.isEmpty()){
        Intent intent = new Intent(ActivityWaitLoadLifeInsureDetails.this, ActivityShowLifeInsure.class);
        intent.putExtra("id", id);
        startActivity(intent);
        timer.cancel();
        finish();
    }

لینک ها رو 

http 

کردم درست نشد.

منتها دستوری که من بهش داده بودم این خط کدها بود:

    if (!ActivityShowLifeInsure.data.equals("")){
Intent intent = new Intent(ActivityWaitLoadLifeInsureDetails.this, ActivityShowLifeInsure.class);
intent.putExtra("id", id);
startActivity(intent);
timer.cancel();
finish();
}


وقتی که دستور 

if 

رو حذف میکنم درست میشه و خطایی نمیده.

چرا زیر اندروید 9 این خطا نمیاد؟

 

چه کدی اضافه کنم که به دستور ایف من ایراد نگیره؟

دو تا پیشنهاد دارم برای اینکه مشکل رو پیدا کنید :
1- اول کدهایی که قبل و بعد از ارسال درخواست به سمت سرور رو کامل چک کنید با حالت دیباگ,

2- در صورتی که مورد اول نتونست کمک کنه, ممکنه موقع رخ دادن خطا, خطی که درون اون خطا وجود داره داخل تب run در پایین Android Studio برای شما با رنگ آبی نشون بده و میتونید حل کنید

3- اگر هیچ کدوم از اینا هم نبود لینک های https رو به http تغییر بدید.

این خطا روی اندروید 8.1 به بالا رخ میده و پایین تر از اون برنامه اوکیه و کار میکنه

با سلام

در جزییات خطای که ارسال کرده اید دیده میشود که شما دو رشته را به یک دیگر مقایسه میکنید اما یکی از این دو رشته دارای مقداری Null می باشد و امکان مقایسه وجود ندارد.

دنبال جای بگردید که دو رشته متن رو با هم مقایسه کردید.

ارسال پاسخ

برای وارد کد از تگ pre استفاده کنید.

به تگ شروع attribute کلاس EnlighterJSRAW بدهید.

برای تنظیم زبان کد ها از attribute خاص data-enlighter-language استفاده کنید.

<pre class="EnlighterJSRAW" data-enlighter-language="php">..your codes..</pre>

گفتگوی برنامه نویسان

بخشی برای حل مشکلات برنامه‌نویسی و مباحث پیرامون آن

دوره های پیشنهادی

مقالات پیشنهادی

هوش مصنوعی

هوش مصنوعی یا هوش ماشینی, به هوشمندی نشان داده شده توسط ماشین در شرایط مختلف گفته میشود که مقابل هوش طبیعی در انسان ها قرار دارد که ...


۵۷۴
۰
۱۱ آذر ۱۳۹۹

بک لینک چیست؟

بک لینک (Back Link) به لینک دادن یک سایت به سایت دیگر گفته میشود که یک فاکتور مهم و اساسی در سئو هر سایتی می باشد.


۷۸۵
۰
۲۲ آذر ۱۳۹۹

وردپرس

وردپرس یک سیستم مدیریت محتوای قوی می باشد که با استفاده از آن می توان وب سایت ها و وبلاگ های گوناگونی با هر شرایطی را طراحی کرد چرا که این سیستم و ...


۵۸۱
۰
۱۳ آذر ۱۳۹۹

پی اچ پی - PHP

با استفاده از این زبان می توان وب سایت های پویا طراحی کرد, این زبان می تواند با HTML ادغام شود, در حقیقت یک زبان اسکریپتی متن باز و رایگان است. یعنی زمانی که سرور درخواست ...


۶۹۶
۰
۱۳ آذر ۱۳۹۹