0
public void onMyButtonClick1(View view)  
{  
     final EditText emailValidate = (EditText)findViewById(R.id.emailid); 

        final TextView passValidate = (TextView)findViewById(R.id.password); 

        String email = emailValidate.getText().toString().trim();
        String pass= passValidate.getText().toString().trim();

        String emailPattern = "[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+";


        // onClick of button perform this simplest code.
        if (email.matches(emailPattern)&&(passValidate!=null))
        {
            //Toast.makeText(this,"valid email address",Toast.LENGTH_SHORT).show();

        Toast.makeText(this, "Welcome To Sun Telematics", Toast.LENGTH_SHORT).show();
        Intent getStarted = new Intent(getApplicationContext(), FourthActivity.class);
        startActivity(getStarted);

            /*else
            {
                Toast.makeText(this, "Field Required", Toast.LENGTH_SHORT).show();
            }*/
        }


       else 
        {
        Toast.makeText(getApplicationContext(),"Invalid email address", Toast.LENGTH_SHORT).show();
        }

}

パスワードフィールドが空かどうかを確認したい。空の場合、次のアクティビティには進みません。トーストメッセージが表示されます。そのフィールドを検証できます。コードのどこを変更できますか。

4

1 に答える 1

2

パスワード フィールドのインスタンスが null かどうかを確認するのではなく、文字列の内容が実際に空かどうかを確認する必要があります。これにはさまざまなユーティリティ ライブラリがありますが、確認するだけで十分でしょう。!"".equals(pass)

"" を前に置くことでNullPointerException、文字列が null になる可能性がある場合でも回避できることに注意してください。この場合、すでに文字列を取得してトリミングしているため、問題ありません。

この種のものを処理するには、Apache の共通言語ライブラリの StringUtils を使用することをお勧めしますが、その場合は StringUtils.isNotEmpty(pass) を記述するだけで、空白のチェック、文字列の変換などのためのさまざまなユーティリティ メソッドがあります。

于 2013-07-27T09:48:32.743 に答える