آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

یک اشکال در ارسال اکتیویتی

msm  11 سال پیش  11 سال پیش
0 0

سلام

من تو ارسال متن و عدد به اکتیویتی دیگر همش اشتباه می کردم تا اینکه سورس رو دانلود کردم و آزمایش کردم اما حالا می بینم سورس آقای آقا جانی هم همین مشکل رو دارند

مشکل اینه که اگه فیلد متن رو خالی بزاری و عدد رو پر کنی خطای فورس کلوز نمیاره اما اگه برعکس عمل کنی یا هیچ کدوم رو پر نکنی خطای فورس کلوز میاره ؟

خواستم بدونم از دوستان کسی هست که این سورس رو آزمایش کنه و بفهمم که آیا ممکن هست که کامپیوتر من مشکلی با کتابخانه های جاوا داشته باشه؟

یا اینکه کلاً چطور میشه که اون کدهای که برای جلوگیری از فورس کلوز گذاشتیم تنها برای متن عمل می کنند ولی برای اعداد عمل نمی کنند

این سورس مربوط به در پنجم ارتباط بین اکتیویتی ها می باشد

با تشکر

 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
Programmer  11 سال پیش
+4 0

این مشکل کامپیوتر شما نیست.وقتی که شما فیلد هارو خالی میگذارید و روی دکمه ارسال اطلاعات کلیک میکنید در واقع "هیچ چیز" ارسال میشه و این ارسال "هیچ چیز" منجر به کرش در برنامه میشه

شما میتونید با یه دستور 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 اجرا میشه و به اکتویتی دوم میره و اونجا اطلاعات به نمایش در میاد.

موفق باشید :)

0 0
من هم همین مشکل رو داشتم مرسی از راهنماییت. (11 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .