1

設定ページにパスワードが必要なプログラムを作っています。現在私が行っている方法は、テキスト フィールドとパスワードの要求を含むアラート ポップアップを表示することです。正しいパスワードが入力されると (現在は "test" としてハードコードされていますが、これは変更される予定です)、設定アクティビティが開始され、パスワードが正しくないと "incorrect" というアラートが表示されます。

現時点では、パスワードが正しいか間違っているかに関係なく、アラートを閉じるだけで、メッセージも何も表示されません。

私は進んで学んでいるので、コードをひどく傷つけたと確信しています。何か提案はありますか?

  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。これには、2 つの文字列を比較するための空白も考慮されます。

あなたのコードは以下のようなものです

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