无法识别注册活动页面方法

时间:2018-11-13 06:08:51

标签: android android-studio android-activity

这是一个注册页面,其中包含一些用于简单Android应用程序的字段。即使导入相应的模块和程序包,也无法识别确认密码变量和IsInputEditTextFilled方法。
通过使用import语句,我能够使其他人得到认可。即使我已经重读过多次代码,也不确定是否需要再次定义它们或是否是大小写错误。

这是未识别的变量和方法错误的图像。

enter image description here

    package edu.spelman.spelfitscmail.spelfit.activities;


    import android.os.Bundle;
    import edu.spelman.spelfitscmail.spelfit.R;
    import android.support.design.widget.Snackbar;
    import android.support.design.widget.TextInputEditText;
    import android.support.design.widget.TextInputLayout;
    import android.support.v4.widget.NestedScrollView;
    import android.support.v7.app.AppCompatActivity;
    import android.support.v7.widget.AppCompatButton;
    import android.support.v7.widget.AppCompatTextView;
    import android.view.View;

    import edu.spelman.spelfitscmail.spelfit.helper.InputValidation;
    import edu.spelman.spelfitscmail.spelfit.model.User;
    import edu.spelman.spelfitscmail.spelfit.sql.DatabaseHelper;

    public class RegisterActivity extends AppCompatActivity implements View.OnClickListener{

        private final AppCompatActivity activity = RegisterActivity.this;

        private NestedScrollView nestedScrollView;

        private TextInputLayout textInputLayoutName;
        private TextInputLayout textInputLayoutEmail;
        private TextInputLayout textInputLayoutPassword;
        private TextInputLayout textInputLayoutConfirmPassword;

        private TextInputEditText textInputEditTextName;
        private TextInputEditText textInputEditTextEmail;
        private TextInputEditText textInputEditTextPassword;
        private TextInputEditText textInputEditTextConfirmPassword;

        private AppCompatButton appCompatButtonRegister;
        private AppCompatTextView appCompatTextViewLoginLink;

        private InputValidation inputValidation;
        private DatabaseHelper databaseHelper;
        private User user;

        @Override
        protected void onCreate(Bundle savedInstanceState){
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_register);
            getSupportActionBar().hide();

            initViews();
            initListeners();
            initObjects();
        }
        private void initViews(){
            nestedScrollView = (NestedScrollView) findViewById(R.id.nestedScrollView);

            textInputLayoutName = (TextInputLayout) findViewById(R.id.textInputLayoutName);
            textInputLayoutEmail = (TextInputLayout) findViewById(R.id.textInputLayoutEmail);
            textInputLayoutPassword = (TextInputLayout) findViewById(R.id.textInputLayoutPassword);
            textInputLayoutConfirmPassword = (TextInputLayout) findViewById(R.id.textInputLayoutConfirmPassword);

            textInputEditTextName = (TextInputEditText) findViewById(R.id.textInputEditTextName);
            textInputEditTextEmail = (TextInputEditText) findViewById(R.id.textInputEditTextEmail);
            textInputEditTextPassword = (TextInputEditText) findViewById(R.id.textInputEditTextPassword);
            textInputEditTextConfirmPassword = (TextInputEditText) findViewById(R.id.textInputEditTextConfirmPassword);


            appCompatButtonRegister = (AppCompatButton) findViewById(R.id.appCompatButtonRegister);
            appCompatTextViewLoginLink = (AppCompatTextView) findViewById(R.id.appCompatTextViewLoginLink);
        }
        private void initListeners(){
            appCompatButtonRegister.setOnClickListener(this);
            appCompatTextViewLoginLink.setOnClickListener(this);
        }
        private void initObjects(){
            inputValidation = new InputValidation(activity);
            databaseHelper = new DatabaseHelper(activity);
            user = new User();
        }
        @Override
        public void onClick(View v){
            switch(v.getId()){
                case R.id.appCompatButtonRegister:
                    postDataToSQLite();
                    break;
                case R.id.appCompatTextViewLoginLink:
                    finish();
                    break;
            }
        }
        private void postDataToSQLite(){
            if (!inputValidation.isInputEditTextFilled(textInputEditTextName, textInputLayoutName, getString(R.string.error_message_name))){
                return;
            }
            if (!inputValidation.isInputEditTextFilled(textInputEditTextEmail, textInputLayoutEmail, getString(R.string.error_message_email))){
                return;
            }
            if (!inputValidation.isInputEditTextEmail(textInputEditTextEmail, textInputLayoutEmail, getString(R.string.error_message_email))){
                return;
            }
            if (!inputValidation.isInputEditTextFilled(textInputEditTextPassword, textInputLayoutPassword, getString(R.string.error_message_password))){
                return;
            }
            if (!inputValidation.isInputEditTextMatches(textInputEditTextPassword, textInputEditTextConfirmPassword,
                    textInputLayoutConfirmPassword, getString(R.string.error_password_match))){
                return;
            }
            if (!databaseHelper.checkUser(textInputEditTextEmail.getText().toString().trim())){

                user.setName(textInputEditTextName.getText().toString().trim());
                user.setEmail(textInputEditTextName.getText().toString().trim());
                user.setPassword(textInputEditTextPassword.getText().toString().trim());

                databaseHelper.addUser(user);

                //Snackbar to show success message that record saved successfully
                Snackbar.make(nestedScrollView, getString(R.string.success_message), Snackbar.LENGTH_LONG).show();
                emptyInputEditText();

            }else {
                //Snackbar to show error message that record already exists
                Snackbar.make(nestedScrollView, getString(R.string.error_email_exists), Snackbar.LENGTH_LONG).show();
            }

        }
        private void emptyInputEditText(){
            textInputEditTextName.setText(null);
            textInputEditTextEmail.setText(null);
            textInputEditTextPassword.setText(null);
            textInputEditTextConfirmPassword.setText(null);

        }
    }

1 个答案:

答案 0 :(得分:0)

我认为您输入了错误的方法名称,正确的方法是:

if (!inputValidation.isinputEditTextFilled(textInputEditTextName, textInputLayoutName, getString(R.string.error_message_name))){
 return;
}

所以您现在必须替换所有条件语句。

我怎么知道错误是我找到了您4个小时前问过的问题,并找到了您的InputValidation类代码

参考: Your Old Question