1

我正在制作一个需要设置页面密码的程序。目前我的做法是弹出一个带有文本字段和密码请求的警报。当输入正确的密码(目前硬编码为“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();

}
4

2 回答 2

4

采用

if (value.equals("test"))

代替

if (value == "test") 

用于比较字符串

于 2012-11-23T04:33:38.273 回答
0

也可以使用.equalsIgnoreCase方法。在此它还考虑用于比较两个字符串的空白。

您的代码如下所示

if (value.equalsIgnoreCase("test"))
于 2012-11-23T06:59:26.047 回答