بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

با if مشکل دارم

مدیریت گفتگو
AMiN 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام خدمت دوستان

یه مشکل مبتدی (در سطح خودم) با ifدارم:

بعداز تمرین بخش اکتیویتی فصل پنجم میخوام از Firstactivity یک User_Name و User_Age رو بگیره و به یک تکست ویو در Secondactivity بفرسته واگر فیلد User_Name رو پر نکردم بهم پیامی رو که براش تو if تعریف کردم بده

حالا مشکلم اینجاست که چه User_Name پر باشه چه خالی، برنامه فقط حالت true  که پیام اول هست رو نشون میده و هیچ وقت else نمیشه یعنی فقط این خط رو اجرا میکنه:

 txtoutput.setText("نام کاربری: " + username + " " + "سن کاربر: " + userage) ;

متن کد Secondactivity:

 package com.test.testactivity;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;


public class Secondactivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.form2);

TextView txtoutput = (TextView) findViewById(R.id.txtoutput);
Bundle extras = getIntent().getExtras();
String username = extras.getString("User_Name");
String userage = extras.getString("User_Age");
if (extras.containsKey("User_Name")) {
txtoutput.setText("نام کاربری: " + username + " " + "سن کاربر: " + userage);
} else {
txtoutput.setText("سن کاربر: " + "نام کاربری وارد نشده " + userage);
}

نظرات

وحید 11 سال پیش
شما بجای استفاده از extras.containsKey() در شرط if از username.equals() استفاده کنید.
AMiN 11 سال پیش
ممنون، با استفاده از ("")username.equals حل شد... ولی چرا استاد توی آموزش از extras.containsKey("User_Name) استفاده کرد؟ که البته نتیجه رو اجرا نکردند
125025 11 سال پیش
با اونم کار میکنه که استاد گفتن
AMiN 11 سال پیش
این نمونه کد استاد هست با این تفاوت که من یه else اضافه کردم... نمیدونم چرا همش شرط رو true فرض میکنه
وحید 11 سال پیش
چون مقدار بولین وقتی تو شرط قرار می گره اگر مقدار true یا false بهش ندین مقدارش برابر true هست. تا جایی که یادمه.

هنوز پاسخی ثبت نشده است


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