یک اشکال در ارسال اکتیویتی
سلام
من تو ارسال متن و عدد به اکتیویتی دیگر همش اشتباه می کردم تا اینکه سورس رو دانلود کردم و آزمایش کردم اما حالا می بینم سورس آقای آقا جانی هم همین مشکل رو دارند
مشکل اینه که اگه فیلد متن رو خالی بزاری و عدد رو پر کنی خطای فورس کلوز نمیاره اما اگه برعکس عمل کنی یا هیچ کدوم رو پر نکنی خطای فورس کلوز میاره ؟
خواستم بدونم از دوستان کسی هست که این سورس رو آزمایش کنه و بفهمم که آیا ممکن هست که کامپیوتر من مشکلی با کتابخانه های جاوا داشته باشه؟
یا اینکه کلاً چطور میشه که اون کدهای که برای جلوگیری از فورس کلوز گذاشتیم تنها برای متن عمل می کنند ولی برای اعداد عمل نمی کنند
این سورس مربوط به در پنجم ارتباط بین اکتیویتی ها می باشد
با تشکر
این مشکل کامپیوتر شما نیست.وقتی که شما فیلد هارو خالی میگذارید و روی دکمه ارسال اطلاعات کلیک میکنید در واقع "هیچ چیز" ارسال میشه و این ارسال "هیچ چیز" منجر به کرش در برنامه میشه
شما میتونید با یه دستور if ساده چک کنید که اگه طول متن EditText برابر 0 بود توی یک toast بنویسه که "اطلاعات خود را وارد کنید.و برای else بنویسید که اطلاعات رو از طریق Intent به اکتیویتی دوم بفرسته.به کدهای زیر نگاه کنید :
btnGoNext.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (edtInput.length() == 0) {
Toast.makeText(G.context, "لطفا نام خود را وارد کنید", Toast.LENGTH_SHORT).show();
} else if (edtAge.length() == 0) {
Toast.makeText(G.context, "لطفا سن خود را وارد کنید", Toast.LENGTH_SHORT).show();
} else {
String name = edtInput.getText().toString();
int age = Integer.parseInt(edtAge.getText().toString());
Intent next = new Intent(G.currentActivity, SecondActivity.class);
next.putExtra("age", age);
next.putExtra("name", name);
G.currentActivity.startActivity(next);
G.currentActivity.finish();
}
}
});
توی این کد من گفتم وقتی روی btnGoNext کلیک شد اگه EditText ــی که برای نام هست خالی بود بنویسه "لطفا نام خود را وارد کنید.
اگه روی btnGoNext کلیک شد و ExitText ـــی که مربوط به سن هست خالی بود بنویسه "لطفا سن خود را وارد کنید"
اگر کاربر هم اسم خود و هم سن خود رو وارد کرده بود else اجرا میشه و به اکتویتی دوم میره و اونجا اطلاعات به نمایش در میاد.
موفق باشید :)
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .