Android 编译错误:应改为AnnotationName

Android 编译错误:应改为AnnotationName,android,eclipse,password-protection,Android,Eclipse,Password Protection,我正在尝试对活动本身进行密码保护,但遇到了一些问题。代码中有一些错误 import com.foo.avanos.AvanosActivity; import com.foo.avanos.R; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.Bundle; import android.view.View; import a

我正在尝试对活动本身进行密码保护,但遇到了一些问题。代码中有一些错误

import com.foo.avanos.AvanosActivity;
import com.foo.avanos.R;

import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import android.content.Intent;;

public class ChangePassword extends AvanosActivity{

    public void onCreate(Bundle savedInstanceState) {
        setContentView(R.layout.settings);
        Button submitButton = (Button) findViewById(R.id.button2);
        submitButton.setOnClickListener(this);

        Button ChangePasswordButton = (Button) findViewById(R.id.button2);
        ChangePasswordButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent intent = new Intent();
                setResult(RESULT_OK, intent);
                finish();
            }

        Button EnterButton2 = (Button) findViewById(R.id.button2);
        //Below, it's telling me 'Syntax error on tokens, AnnotationName expected instead'
        EnterButton2.setOnClickListener(new View.OnClickListener() {
            public void onClick2(View v) {
                EditText passwordEditText = (EditText) findViewById(R.layout.password);
                SharedPreferences prefs = this.getApplicationContext().getSharedPreferences("prefs_file",MODE_PRIVATE);
                String NewPassword = prefs.getString("password","");
                String CurrentPassword = prefs.getString("password","NewPassword");
                if(NewPassword.equals(CurrentPassword)){
                    Editor edit = prefs.edit();
                    edit.putString("password",passwordEditText.getText().toString());
                    edit.commit();
                }
                else {
                    Toast.makeText(getBaseContext(),"Passwords do not match",Toast.LENGTH_SHORT).show();
                    return;
                }
                //Below, it's telling me 'Syntax error, insert ";" to complete Statement'
            }
        }
    }
}
}

首先,我想知道我这样做是否正确。如果我不是,请指导我正确操作。

结束你的setOnclickListener它没有结束,因此您将得到编译错误

ChangePasswordButton.setOnClickListener{
   public void onClick2(View v) {
        //code goes here
   }
});
同样的情况也存在

EnterButton2.setOnClickListener(new View.OnClickListener() {
   public void onClick(View v) {
}
});
并使用Onclick而不是Onclick 2


将click侦听器分配给变量,然后执行setOnclickListener。它将是可读的。

在上下文的底部有第二个分号。请将其删除,然后重试。

您有哪些错误?日志中写了什么?^我的活动的名称还有,你所有的按钮都有相同的id