此代码应将输入到R.id.editUserName中的文本与R.string.DB_username进行比较,如果匹配,则将您登录,否则显示他们不匹配的Toast.
public void signIn(View view) {
EditText editUserName = (EditText)findViewById(R.id.editUserName);
String userName = editUserName.getText().toString();
if ( userName == getResources().getString(R.string.DB_username)) {
// log in
setContentView(R.layout.screen1);
} else {
// show toast
Toast toast = Toast.makeText(getApplicationContext(), userName+" != "+getResources().getString(R.string.DB_username), Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
}
}
Run Code Online (Sandbox Code Playgroud)
即使他们确实匹配,它仍然会举杯祝酒,比如"Roger!= Roger"......怎么会这样?
您无法比较Java中的字符串.你需要:
if (userName.equals(...))
Run Code Online (Sandbox Code Playgroud)
你的代码所说的是"这两件事在记忆中是完全相同的对象吗?" 而不是"每个对象的内容是否相同?"
| 归档时间: |
|
| 查看次数: |
1787 次 |
| 最近记录: |