0

Androidアプリケーションの登録を行っています。最初は、パスワードとパスワードの確認が同じでない場合は常に、「パスワードとパスワードの確認が一致しません」というメッセージが表示され、正常に機能します。ただし、パスワードとパスワードの確認が空白と一致する場合、このステートメントは「フィールドを空のままにしないでください」と表示されるはずですが、残念ながら失敗します。

エラーがないか確認してください。

  btn2.setOnClickListener(new View.OnClickListener(){
            public void onClick(View v)
            {
                String username, password, cpassword, fullname, nric, address, phone, email;
                username = tf3.getText().toString();
                password = tf4.getText().toString();
                cpassword = tf5.getText().toString();
                fullname = tf6.getText().toString();
                nric = tf7.getText().toString();
                address = tf8.getText().toString();
                phone = tf9.getText().toString();
                email = tf10.getText().toString();

                if(password != cpassword)
                {
                    tv1.setText("Password & Confirm Password does not match.");
                }
                else if(username.equals("") || password.equals("") || cpassword.equals("") || fullname.equals("") || nric.equals("") || address.equals("") || phone.equals("") || email.equals(""))
                {
                    tv1.setText("Do not leave any field empty.");
                }
                else
                {
                    try
                    {
                        db.beginTransaction();
                        db.execSQL("insert into Members values('"+username+"','"+password+"','"+fullname+"','"+nric+"','"+address+"','"+phone+"','"+email+"');");
                        db.setTransactionSuccessful();
                        db.endTransaction();    
                    }
                    catch(Exception e)
                    {
                    }
                        tv1.setText("Register Complete.");
                }
            }
        });
4

2 に答える 2

0

間違った方法で比較しています。次のようにパスワードと確認パスワードを比較してください。

if(!password.equals(cpassword))

equals()Java では、2 つの String 変数を比較する場合、String クラスのメソッドを使用する必要があります。

        btn2.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v)
        {
            String username, password, cpassword, fullname, nric, address, phone, email;
            username = tf3.getText().toString();
            password = tf4.getText().toString();
            cpassword = tf5.getText().toString();
            fullname = tf6.getText().toString();
            nric = tf7.getText().toString();
            address = tf8.getText().toString();
            phone = tf9.getText().toString();
            email = tf10.getText().toString();

            if(!password.equals(cpassword))  // Change is here
            {
                tv1.setText("Password & Confirm Password does not match.");
            }
            else if(username.equals("") || password.equals("") || cpassword.equals("") || fullname.equals("") || nric.equals("") || address.equals("") || phone.equals("") || email.equals(""))
            {
                tv1.setText("Do not leave any field empty.");
            }
            else
            {
                try
                {
                    db.beginTransaction();
                    db.execSQL("insert into Members values('"+username+"','"+password+"','"+fullname+"','"+nric+"','"+address+"','"+phone+"','"+email+"');");
                    db.setTransactionSuccessful();
                    db.endTransaction();    
                }
                catch(Exception e)
                {
                }
                    tv1.setText("Register Complete.");
            }
        }
    });
于 2013-04-24T04:10:24.977 に答える