实现textwatcher验证密码输入时出错

时间:2014-07-31 06:36:39

标签: android eclipse textwatcher

在尝试实现向服务器发送用户数据的注册页面时我想验证用户是否在两个文本框中都给出了相同的密码,我的代码似乎包含错误,“settings_pwd_equal”无法解析成类型,使其成为可能字段或变量?

public class RegisterActivity extends Activity {
Button btnRegister;
Button btnLinkToLogin;
EditText inputFullName;
EditText inputEmail;
EditText inputPassword;
TextView registerErrorMsg;
EditText inputPassword2;
final TextView error = (TextView) layout.findViewById(R.id.TextView_PwdProblem);

// JSON Response node names
private static String KEY_SUCCESS = "success";
private static String KEY_ERROR = "error";
private static String KEY_ERROR_MSG = "error_msg";
private static String KEY_UID = "uid";
private static String KEY_NAME = "name";
private static String KEY_EMAIL = "email";
private static String KEY_CREATED_AT = "created_at";

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.register);

    // Importing all assets like buttons, text fields
    inputFullName = (EditText) findViewById(R.id.registerName);
    inputEmail = (EditText) findViewById(R.id.registerEmail);
    inputPassword = (EditText) findViewById(R.id.registerPassword);
    inputPassword2 = (EditText) findViewById(R.id.registerPassword2);
    btnRegister = (Button) findViewById(R.id.btnRegister);
    btnLinkToLogin = (Button) findViewById(R.id.btnLinkToLoginScreen);
    registerErrorMsg = (TextView) findViewById(R.id.register_error);





    inputPassword2.addTextChangedListener(new TextWatcher() {
           public void afterTextChanged(Editable s) {
              String strPass1 = inputPassword.getText().toString();
              String strPass2 = inputPassword2.getText().toString();
              if (strPass1.equals(strPass2)) {
                 error.setText(R.string.settings_pwd_equal);
              } else {
                 error.setText(R.string.settings_pwd_not_equal);
              }
           }

           public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
           public void onTextChanged(CharSequence s, int start, int before, int count) {}
         });

1 个答案:

答案 0 :(得分:0)

如果要在java文件中使用String资源,请使用:

error.setText(context.getString(R.string.settings_pwd_equal));
error.setText(context.getString(R.string.settings_pwd_not_equal));

参考Accessing Resource in code

希望这有帮助。