تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۴ پژمان آزاد
ارور هنگام اجرای برنامه
پوریا شفیعی حل شده توسط پوریا شفیعی

درود بر شما

هنگام ران کردن برنامه متاسفانه Crash میکنه و با ارورهای زیر مواجه میشم هر چه trace میکنم نتیجه نمیگیرم بیزحمت راهنمایی بفرمایید. ضمنا راهی برای دیباگ خط به خط و پیدا کردن ارور در صورت عدم اجرای برنامه، وجود نداره؟

 

ضمنا فایل زیپ پروژه رو ضمیمه کردم

 

ممنون از شما

 

--------- beginning of crash

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.ProfileUi, PID: ۳۷۳۱
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ProfileUi/com.example.ProfileUi.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:۲۳۲۷)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:۲۳۹۲)
        at android.app.ActivityThread.access$۸۰۰(ActivityThread.java:۱۵۳)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:۱۳۰۵)
        at android.os.Handler.dispatchMessage(Handler.java:۱۰۲)
        at android.os.Looper.loop(Looper.java:۱۳۵)
        at android.app.ActivityThread.main(ActivityThread.java:۵۳۰۵)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:۳۷۲)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:۹۰۳)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:۶۹۸)
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
        at com.example.ProfileUi.MainActivity.onCreate(MainActivity.java:۱۱۲)
        at android.app.Activity.performCreate(Activity.java:۵۹۹۰)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:۱۱۰۶)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:۲۲۸۰)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:۲۳۹۲) 
        at android.app.ActivityThread.access$۸۰۰(ActivityThread.java:۱۵۳) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:۱۳۰۵) 
        at android.os.Handler.dispatchMessage(Handler.java:۱۰۲) 
        at android.os.Looper.loop(Looper.java:۱۳۵) 
        at android.app.ActivityThread.main(ActivityThread.java:۵۳۰۵) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at java.lang.reflect.Method.invoke(Method.java:۳۷۲) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:۹۰۳) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:۶۹۸) 
 

سلام ویویی که براش onClickListener ست کردین رو شناسایی نمی‌کنه و کرش می‌کنه

 

     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference

 

 

در خط 112  MainActivity

وحید گروسی ۰۱ خرداد ۱۳۹۹، ۱۵:۳۵

سلام وقت بخیر پژمان عزیز

ارور شما مربوط به این خط از ارور میشه که گفته :

android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object

هست که button ی در کد شما باعث شده findView نشه یا کلا عملی باعث شده که مقدار null برگرداند 

حال این مرود رو چک کنین و اگر متوجه ارور نشدین عکس کدتون بفرستید تا بررسی کنم

اگر قرار بر این شد خود کد ارسال کنین لطفا هنگام کپی کردن کد هاتون از *نوع php انتخاب کنین که کد‌ها بهم نریزند

پوریا شفیعی ۰۱ خرداد ۱۳۹۹، ۱۵:۳۵

آقا پژمان شما در خط ۱۱۲ کلاس MainActivity اومدین 

Button editProfileBtn = findViewById(R.id.btn_editprofile_done);

بجای ای دی رو button(چون در xml تون این ای دی رو مشخص کردین که ای دی مربوط به اکتیویتی دومتون یعنی btn_editprofile_done بهش دادین)  در نظر بگیرید نوشتید R.id.btn_editProfile_done 

پس باید بنویسید .

Button editProfileBtn = findViewById(R.id.button);

که این بی دقتی هم بخاطر نام گذاری ای دی تون بوده که اخرش done گذاشتید .

بهترین پاسخ
پوریا شفیعی ۰۱ خرداد ۱۳۹۹، ۱۵:۵۷

سلام دوستان وقتتون بخیر ببخشید اکثره مواقع وقتی AVD روی سیستم من اجرا میشه اروری که توی تصویر میبینید هم برای من میاد. کسی در موردش چیزی میدونه؟چطور میتونم برطرفش کنم؟خیلی ممنون

امید ایوبی ۱۹ بهمن ۱۳۹۹، ۰۵:۲۸