بروز اشکال در onActivityResult
با سلام خدمت دوستان
من با یک مشکل عجیب در انتقال یک رشته از یک اکتیویتی به اکتیویتی دیگه مواجه شدم که اصلا سر در نمیارم.
من تو پروژه ام 2 تا اکتیویتی درست کردم که اکتیویتی دوم با کد زیز اجرا میشه
startActivityForResult(f,1);
بعد در اکتیویتی دوم داخل رویداد کلیک دکمه ای که تو صفحه هست رشته Hello رو می خوام برگردونم به اکتیویتی اول و این اکتیویتی رو ببندم برای این کار هم از کد زیر استفاده کردم
Intent f = new Intent();
f.putExtra("myString", "Hello");
setResult(RESULT_OK, f);
this.finish();
بعد از این کار تو اکتیویتی اول که این اکتیویتی رو اجرا کرده بود تابع onActivityResult رو بصورت زیر اجرا کردم تا مقدار رشته ای رو که داخل myString گذاشتم رو بخونه و نمایش بده.
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode==RESULT_OK && requestCode==1){
if (data.hasExtra("myString")){
Toast.makeText(getApplicationContext(), data.getExtras().getString("myString"), Toast.LENGTH_LONG).show();
}
}
}
اما متاسفانه تو اجرا برنامه خطا میده و اجرا نمیشه! من سعی کردم تریس کنم و دیدم اشکا رو تو تابع onActivityResult دارم و اون هم دقیقا زمانی که data.getExtras().getString("myString") اجرا میشه
دوستان مشکل من کجاست!؟
با تشکر از همه دوستان
نقل قول: بروز اشکال در onActivityResult
ظاهرا من مرتکب اشتباه شده بودم و کد زیر رو از تابع onActivityResult حذف کرده بودم!!!
super.onActivityResult(requestCode, resultCode, data);
تابع رو به شکل زیر نوشتم مشکل حل شد
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode==RESULT_OK && requestCode==1){
if (data.hasExtra("myString")){
Toast.makeText(getApplicationContext(), data.getExtras().getString("myString"), Toast.LENGTH_LONG).show();
}
}
}
دوستان عبارت super که تو اکثر توابع ایجاد میشه کاربردش چی هست؟
لطفا راهنمایی بفرماید
با تشکر
نقل قول: بروز اشکال در onActivityResult
تا اونجایی که من میدونم super به آبجکت والد کلاس مورد نظر اشاره داره، یعنی آبجکتی که اونو ساخته و این کلاس از اون ارث بری داره