2011-01-30 31 views
15
login.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      if(username_text.getText().toString() == "admin" && 
        pass_text.getText().toString() == "password"){ 

       startActivityForResult(i, ACTIVITY_CREATE); 

      }else{ 
       Toast.makeText(gps_gui.this, "Your username or password is not correct! Please, insert again", 
         Toast.LENGTH_SHORT).show(); 
       clearEditText(); 
      } 
     } 

    }); 

Tôi đang cố gắng kiểm tra, tôi thấy nó không đi đến nếu điều kiện.nhận chuỗi từ EditText

+1

Bạn nên chấp nhận bất kỳ câu trả lời đúng nào cho các câu hỏi trước của mình. Bạn chỉ có thể nhấp vào dấu kiểm bên cạnh câu trả lời để đánh dấu là đã chấp nhận. – kcoppock

+0

Tôi đã thực hiện khá nhiều thử nghiệm chính xác này - thậm chí sử dụng "quản trị" và "mật khẩu" làm giá trị. Tốt đẹp! :) Cảm ơn bạn đã đặt câu hỏi này! – aikeru

Trả lời

29

Khi sử dụng java, bạn phải so sánh Strings bằng phương thức String.equals (String). Việc kiểm tra so sánh == để xem liệu các giá trị đối tượng String có bằng nhau không, chắc chắn là chúng không có. Hãy thử thay đổi ví dụ của bạn thành:

"admin".equals(username_text.getText().toString()) &&"password".equals(pass_text.getText().toString()) 

Cũng cần đặt chuỗi tĩnh trước, trong trường hợp giá trị chuỗi của giá trị được chọn là rỗng.

+0

Cảm ơn bạn. nó có phân biệt chữ hoa chữ thường đúng không? – Yoo

+1

Nó là vô cảm. Như @msumaithri đã đề cập, bạn có thể sử dụng equalsIgnoreCase như một giải pháp thay thế (mặc dù tôi không khuyên bạn nên làm cho mật khẩu và tên người dùng) –

+0

chỉ cần thêm ngây thơ như tôi nếu bạn thêm giá trị ansi của quản trị viên và giá trị ansi của mật khẩu. khác nhau ... – solti

3

Sử dụng phương thức equals() của chuỗi String để so sánh Chuỗi. Các liên kết sau đây sẽ cung cấp cho bạn thêm chi tiết.

About equals(Object yourObj) method (CASE sensitive)

equalsIgnoreCase (String yourStringObject) có thể được sử dụng, nếu bạn muốn nó được không phân nhạy cảm!