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

در مقایسه String ها به مشکل برخورده ام!

underomeda  13 سال پیش  12 سال پیش
+2 0

سلام ببخشد استاد این کد واسه اینه مه در activity_login به زدن user و pass برم به activity_main اما تو قسمت if موندم چطور برررسی کنم اگر edt_user==hamed و edt_pass==6971 بشه وارد activity main شه در غیر این صورت پیغام بده نام کاربری و پس اشتباهه.

ممنون میشم استاد راهنمایی کنید

    public int    pass = 6971;
public String user = "hamed";


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

Button btn_login=(Button) findViewById(R.id.btn_login);
Button btn_exit=(Button) findViewById(R.id.btn_exit);
final EditText edt_pass=(EditText) findViewById(R.id.txt_pass);
final EditText edt_user=(EditText) findViewById(R.id.txt_user);
btn_login.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View arg0) {
if(edt_user.getText()=="hamed" && edt_pass.getText()=6971){
Intent intent=new Intent(LoginActivity.this,main.class);
LoginActivity.this.startActivity(intent);
}
}
});
}
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
uncocoder  13 سال پیش
+6 0

برای مقایسه String ها از equals استفاده خواهیم کرد، مثلاً میشه

 

if (edt_user.getText().toString().equals("hamed") && edt_pass.getText().toString().equals("6971")){
Log.i("LOG", "User can Login");
} else {
Log.i("LOG", "User can't Login");
}

ولی حتماً باید به این نکته توجه کنید که در صورتی که سمت چپ equals عبارت null باشه، چک شدن شرط باعث کرش از جنس NullPointerException میشه. به همین دلیل برنامه نویس ها معمولاً از این شیوه استفاده می کنند که خیالشون از این نوع کرش در محل چک کردن شرط راحت بشه:

 

if ("hamed".equals(edt_user.getText().toString()) && "6971".equals(edt_pass.getText().toString())){
Log.i("LOG", "User can Login");
} else {
Log.i("LOG", "User can't Login");
}
پاسخ به سوال 
طاهر  12 سال پیش
+1 0

درسته ولی میشه ابتدا ورود داده ها رو چک کرد و سپس اقدام به بررسی اونها کرد .

اینطوری میشه از ورود داده های غیرمجاز هم جلوگیری کرد .

 


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