我正在制作一个需要设置页面密码的程序。目前我正在做的是通过弹出一个带有文本字段和密码请求的警报。输入正确的密码(当前硬编码为“test”但将被更改)时,它应该启动设置活动,密码不正确会导致提示“不正确”。
目前,无论密码是对还是错,它都会关闭警报,没有任何消息或任何消息。
我正在学习,所以我确定我已经严重破坏了代码,有什么建议吗?
public void Settings(View view) {
final AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Main User Only");
alert.setMessage("Please enter password");
// Set an EditText view to get user input
final EditText input = new EditText(this);
alert.setView(input);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String value = input.getText().toString();
if (value == "test")
{Intent settings = new Intent(Bootscreen.this, ItemListActivity.class);
startActivity(settings);}
else
if (!(value == "test")) { alert.setMessage("Incorrect");}}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Canceled.
}
});
alert.show();
}
答案 0 :(得分:4)
使用
if (value.equals("test"))
而不是
if (value == "test")
用于比较字符串
答案 1 :(得分:0)
您还可以使用.equalsIgnoreCase
方法。在此,它还考虑使用空格来比较两个字符串。
您的代码如下所示
if (value.equalsIgnoreCase("test"))