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

جلوگیری از Crash در صورت نامعتبر بودن مقدار EditText

نورحسینی  12 سال پیش  11 سال پیش
+3 0

سلام
چی کار کنم که در این کد، کرش نکنم. حتی اگر Age خالی بود . اینم کد صفحه اول:


package noorhoseini.mahdi.apps;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;


public class FirstActivity extends Activity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.nform1);

Button btngonext = (Button) findViewById(R.id.btngonext);
final EditText edtuserinput = (EditText) findViewById(R.id.edtuserinput);
final EditText edtuserage = (EditText) findViewById(R.id.edtuserage);

btngonext.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub

final String userinput = edtuserinput.getText().toString();
final int userage = Integer.parseInt(edtuserage.getText().toString());

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("USER_INPUT", userinput);
intent.putExtra("USER_AGE", userage);
FirstActivity.this.startActivity(intent);
FirstActivity.this.finish();

}
});
}
}


با تشکر و احترام .

 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
uncocoder  12 سال پیش
+2 0

راه حل های زیادی داره. ساده ترینش استفاده از try .. catch هست و راه ساده دیگه، این هست که از ابتدا درون این باکس نوشته باشه 0 که یوزر حتی اگر وارد نکرد، معنی عدد رو بده و ورودی این کنترل رو از جنس عددی بذارید که کسی نتونه توش حروف و ... وارد کنه.
همینطور میشه قبل از تبدیل چک کرد که مقدارش "" نباشه و اگر "" بود مقدار 0 به age بدید.
0 0
سلام ماشاالله به جواب دادن سریع شما. من همین چند لحظه پیش سوال رو نوشتم. اگرچه که بعضی قسمت هاش رو مثل try catch رو نفهمیدم ولی احتمالا در بخش های جلوتر آموزش ها هست . ممنون پاینده باشید. (12 سال پیش)
0 0
اگر کار رو سرم نریخته باشه و آنلاین هم باشم، سریع جواب می دم. :) بله ، در قسمت های بعد بیشتر یاد خواهید گرفت در مورد try...catch اما چیزی نیست که حتماً برای درست کار کردن پروژه فعلی شما نیاز باشه و می تونید از روشهای دیگه ای که مطرح کردم، استفاده کنید. (12 سال پیش)
پاسخ به سوال 
rad  11 سال پیش
0 0

سلام

شما آخر این آموزش یعنی ارتباط بین Activity ها با بررسی کردن گرفتین که دیگه crash رخ نمیده درصورتی که من وقتی بدون پرکردن فیلد ها دکمه رو زدم crash اتفاق افتاد

if (extras != null) {
            String UserInput = "";
            int userAge = 0;
            if (extras.containsKey("USER_INPUT")) {
                UserInput = extras.getString("USER_INPUT");

            }
            if (extras.containsKey("USER_AGE")) {
                userAge = extras.getInt("USER_AGE");
            }

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

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