我試圖建立一個登錄頁面,但點擊一個按鈕時,顯示我的用戶名是「」獲得一個用戶名爲「」
public class MainActivity extends AppCompatActivity {
public static final String userNameValue="abc";
public static final String passwordValue="abc";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText editText1=(EditText)findViewById(R.id.userName);
final String valueUN= editText1.getText().toString();
EditText editText2=(EditText)findViewById(R.id.password);
final String valuePW=editText2.getText().toString();
Button loginButton=(Button)findViewById(R.id.button);
loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(valueUN==userNameValue && valuePW==passwordValue) {
Toast.makeText(MainActivity.this, "Login was Successfully", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, "Username or password is incorrect", Toast.LENGTH_SHORT).show();
}
}
});
}
}
,當我試圖調試使用代碼調試器則顯示valueUN和valuePW爲「」,爲什麼它顯示如此?它應該顯示我輸入的內容。
這不是重複問題獲取一個編輯文本字段事業這個問題的人想捕捉的的EditText和MMY問題輸入的數值的數值是編輯文本不顯示正確的價值
'valueUN == userNameValue' - > [如何比較Java中的字符串?](https://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) – Pshemo
yes我應該使用,equals()而不是==它解決了我的問題 –
另外我應該寫最後的String valueUN = editText1.getText()。toString();和最終的String valuePW = editText2.getText()。toString();在click()方法裏面 –