خطای force close در سورس کد برنامه قسمت اول ازبخش 5، ارتباط بین activity ها
با عرض سلام و خسته نباشید خدمت شما
من قسمت اول از بخش 5 رو نگاه کردم و برنامشو نوشتم که در مورد ارتباط بین activity ها بود. وقتی فیلدهای Name وAge رو پر نمی کنم و دکمه next رو میزنم برنامه force close میده(همونطور که شما هم در ویدئو اشاره کرده بودین)،اما در واقع با راهکارهایی که برای چک کردن null نبودن exteras ها هم توو SecondActivities ارائه کردین کماکان مشکل پابرجاست،اول فکر میکردم من ی جایی رو توو روند کدنویسی اشتباه کردم و رفتم سراغ سورس کد مربوط به خودتون و اجراش کردم، دقیقاً اون هم همچین مشکلی داره ،ممنون میشم اگه بگید چجوری میشه این مشکل رو رفع کرد.
با تشکر فراوان...
من یه راه حل به ذهنم رسید که قبل از اینکه اطلاعات داخل EditText ها رو ارسال کنی یه شرط بزاری که اگه EditText خالی بود مقداره مثلا "Default Text" ارسال شه.فکر کنم با کده زیر درست کار کنه.
if(edtName.equals("")){
edtName.setText("Default Value");
}
ممنون از راهنمایی دوستان، اما ی چیز خیلی جالبه،من ی سری تغییرات توو کد دادم و احساس میکنم منطقی و درسته و اصولا باید درست کار کنه اما کماکان مشکل force close زمانی که فیلدها خالیه و اقدام به زدن دکمه Next میکنیم باقیه، به تیکه کدی که نوشتم و خطایی که میده نگاه کنید،واسه من که خیلی جالب و عجیبه!!
تووی دومین errorش میگه نمیتونی ' ' رو به عنوان parse، integer کنی،در صورتی که زمانی ما بدون مقداردهی Next رو میزنیم اصلا مقدار پیشرفضی مثل space یا هر کاراکتر دیگه ای نداره که بخواد وارد if بشه و از Integer.parseint ایراد بگیره!!!
اگر ورودیتون از جنس عدد هست توصیه میکنم از کد try catch استفاده کنید!
try{
//کار هایی که هنگام وارد شدن عدد انجام شود!
}
catch(NumberFormatException e){
Toast.makeText(MainActivity.this, "مقدار را وارد نکرده اید", Toast.LENGTH_LONG).show();
}
با اینکار در صورت وارد نشدن ورودی، پیغام مقدار وارد کنید به کاربر نشون داده میشه :)
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .