空内容值

时间:2018-04-23 18:25:38

标签: android sqlite

这很奇怪。我在表单中插入电子邮件,密码和联系信息(电话号码)。接下来,我想将这些值存储在ContentValues上。但是它们是空的。

这是我的代码。

         public class MainActivity extends AppCompatActivity implements View.OnClickListener{

                          Button loginButton;
                          Button signUpButton;

                          Button createAccountBtn;
                          ViewFlipper viewFlipper;

                          EditText etEmail;
                          EditText etPassword;
                          EditText etContact;

                          String email;
                          String contact;
                          String password;

                          boolean clicked = false;

                            ContentValues values;
                          @Override
                          public void onCreate(Bundle instanceState) {
                            super.onCreate(instanceState);
                            setContentView(R.layout.content_main);


                            loginButton = (Button)findViewById(R.id.bt_login);

                            signUpButton = (Button)findViewById(R.id.bt_signup);

                            createAccountBtn = (Button)findViewById(R.id.bt_create);

                            viewFlipper = (ViewFlipper)findViewById(R.id.view_flipper);


                            etEmail = (EditText)findViewById(R.id.et_email);
                            etPassword = (EditText)findViewById(R.id.et_password);
                            etContact = (EditText)findViewById(R.id.et_phone);



                            email = etEmail.getText().toString();

                            if(!email.matches("[a-zA-Z0-9._-]+@[a-z]+.[a-z]+")) {
                                etEmail.setError("Invalid Email Address");
                            }

                            password = etPassword.getText().toString();

                            if(!password.matches("[a-zA-Z0-9._-]")) {
                                etPassword.setError("Invalid Password");
                            }

                            contact = etContact.getText().toString();



                            loginButton.setOnClickListener(this);
                            signUpButton.setOnClickListener(this);
                            createAccountBtn.setOnClickListener(this);



                            //updateTheViewBasedOnTag();
                            }

                            @Override
                            public void onClick(View v) {
                                switch (v.getId()) {
                                    case R.id.bt_login:
                                        loginButton.setTag(true);
                                        signUpButton.setTag(false);
                                        //updateTheViewBasedOnTag();
                                        viewFlipper.setDisplayedChild(0);


                                        break;
                                    case R.id.bt_signup:
                                        signUpButton.setTag(true);
                                        loginButton.setTag(false);
                                        //updateTheViewBasedOnTag();
                                        viewFlipper.setDisplayedChild(1);
                                        //signUpButton.setBackgroundColor(Color.GREEN);
                                        //Toast.makeText(this,"Button click",Toast.LENGTH_SHORT).show();
                                        break;

                                    case R.id.bt_create:



                                        values = new ContentValues();
                                        values.put("email",email);
                                        values.put("pass",password);
                                        values.put("contact",contact);

                                        DetailsDb detailsDb = new DetailsDb(this);
                                        Cursor cursor = detailsDb.query();

                                        if(cursor.getCount() > 0){

                                            Toast.makeText(this,"Ooops user exists",Toast.LENGTH_SHORT).show();
                                        }else{

                                            detailsDb.insert(values);
                                            Toast.makeText(this,"You are registered",Toast.LENGTH_SHORT).show();
                                        }
                                        break;
                                }

                            }




                        }

我错过了什么?

谢谢,

西奥。

1 个答案:

答案 0 :(得分:3)

您正在int** p = create(2); 的edittexts上调用getText()。那时候他们没有数据。

onCreate()电话移至您的点击监听器。