Java 局部变量在OnClickListener中不可见

Java 局部变量在OnClickListener中不可见,java,android,Java,Android,我正在开发一个Android应用程序,我遇到了一个问题: 我有这个方法: // User has introduced an incorrect password. private void invalidPassword() { // R.id.string value for alert dialog title. int dialogTitle = 0; // R.id.string value for alert dialog message. int d

我正在开发一个Android应用程序,我遇到了一个问题:

我有这个方法:

// User has introduced an incorrect password.
private void invalidPassword()
{
    // R.id.string value for alert dialog title.
    int dialogTitle = 0;
    // R.id.string value for alert dialog message.
    int dialogMessage = 0;
    boolean hasReachedMaxAttempts;

    clearWidgets();
    numIntents++;
    hasReachedMaxAttempts = (numIntents > maxNumIntents);

    // Max attempts reached
    if (hasReachedMaxAttempts)
    {
        dialogTitle = R.string.dialog_title_error;
        dialogMessage = R.string.dialog_message_max_attempts_reached;
    }
    else
    {
        dialogTitle = R.string.dialog_title_error;
        dialogMessage = R.string.dialog_message_incorrect_password;
    }

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage(dialogMessage)
           .setTitle(dialogTitle);
    builder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener()
    {
           public void onClick(DialogInterface dialog, int id)
           {
               // TODO: User clicked OK button
               if (hasReachedMaxAttempts)
               {
               }
               else
               {
               }
           }
       });

    AlertDialog dialog = builder.create();
    dialog.show();
}

如何使布尔值达到最大尝试次数在
内单击

声明您的
最终布尔值已达到最大尝试次数类级别的变量
,它应该完成任务

您需要该变量作为最终变量

final boolean hasReachedMaxAttemptsFinal = hasReachedMaxAttempts;
AlertDialog.Builder builder = new AlertDialog.Builder(this);

 if (hasReachedMaxAttemptsFinal)

它是可见的,但需要设置为
final

final boolean hasReachedMaxAttempts = (numIntents > maxNumIntents);

将其声明为全局变量…-2,因为我是Java编程新手。这就是它奖励想要学习的人的方式?