بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
خطا در رفتن به Activity دوم با مقدار خالی
سلام..
چرا در صورت مقدار ندادن به edt ها وقتی از Activity اول به Activity دوم میرم خطای فورس کلوز میده؟؟
طبق آموزش بخش 05-01
public class FirstActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.form1);
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) {
String userInput = edtUserInput.getText().toString();
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();
}
});
}
}
public class SecondActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.form2);
TextView txtCaption = (TextView) findViewById(R.id.txtCaption);
Bundle extras = getIntent().getExtras();
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");
}
Log.i("LOG", "UserInput: " + userInput + ", UserAge: " + userAge);
txtCaption.setText(userInput + " " + userAge + " YO");
}
Button btnClose = (Button) findViewById(R.id.btnClose);
btnClose.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
SecondActivity.this.finish();
}
});
}
}
0
0
اکتیویتی دوم رو در اندروید منیفست تعریف کردید؟ (11 سال پیش)
0
0
سلام . خوب شما لاگ رو یه نگاه بنداز ببین چی نوشته برای ما هم بنویس
(11 سال پیش)
+1
0
آره،این کدهای آموزش خود استاد هست.. (11 سال پیش)
0
0
ینی در کدتون خطایی وجود نداره و فقط موقع رفتن از اکتیویتی اول به دوم کرش میکنه؟ (11 سال پیش)
0
0
نه کدها هیچ خطایی نداره (11 سال پیش)
برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال
HP70
11 سال پیش
0
0
توی لاگ اولین ارور اینه:
java.lang.NumberFormatException: unable to parse '' as integer
پاسخ به سوال
JSONObject
11 سال پیش
+1
0
int userAge =Integer.parseInt(edtUserAge.getText().toString());
فک کنم اگه این قسمت از کد رو با یه if تعریف کنی درست میشه
یعنی بگی اگر سمت راست مساوی برابر "" کوتیشن خالی شد یه حرکتی بزنه روش مثلا صفرش کنه
در غیر اینصورت بشه محتوای ورودیش
int userAge;
if(edtUserAge.getText().toString() == ""){
userAge = 0;
}else{
userAge =Integer.parseInt(edtUserAge.getText().toString());
}
پاسخ به سوال
امید
11 سال پیش
0
0
دوستان اگه نخوایم userAge رو به استرینگ تبدیل کنیم مثلا بخوایم قبل نمایشش اونو در 2 ضرب کنیم باید چیکار کرد؟
من یه سری کارای مبتدی انجام دادم ولی بازم کرش میکنه!
public class FirstActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.form1);
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) {
String userInput = edtUserInput.getText().toString();
String userAge = 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();
}
});
}
}
public class SecondActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.form2);
TextView txtCaption = (TextView) findViewById(R.id.txtCaption);
Bundle extras = getIntent().getExtras();
if (extras != null) {
String userInput = "";
String userAge = "";
if (extras.containsKey("USER_INPUT")) {
userInput = extras.getString("USER_INPUT");
}
if (extras.containsKey("USER_AGE")) {
userAge = extras.getString("USER_AGE");
}
Log.i("LOG", "UserInput: " + userInput + ", UserAge: " + userAge);
int user = 0;
if (userAge != "") {
user = Integer.parseInt(userAge);
}
txtCaption.setText(userInput + " " + (user * 2) + " YO");
}
Button btnClose = (Button) findViewById(R.id.btnClose);
btnClose.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
SecondActivity.this.finish();
}
});
}
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .