0

EditTextに値があることを確認するにはどうすればよいですか(つまり、値が空でないかnullでない)。EditTextに入力された文字列値をオブジェクトに割り当てる次のコードを作成しましたStringが、空でないことを確認することが問題でした。私がそれを実行するときはいつでも、私はを取得しNullPointerExceptionます。

public class LoginFragment extends SherlockFragment {
EditText e1;
EditText e2;
Button b;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInatanceState) {
    View view = inflater.inflate(R.layout.login_layout, container, false);

    e1 = (EditText) view.findViewById(R.id.reg_email);
    e2 = (EditText) view.findViewById(R.id.reg_password);

    b = (Button) view.findViewById(R.id.btnLogin);
    b.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {

            String mEmail = e1.getText().toString(); // NullPointerException
            String pwrd = e2.getText().toString();

            if ((mEmail.equals(null)) || (pwrd.equals(null))) {
                AlertDialog.Builder build = new AlertDialog.Builder(
                        getActivity());
                build.setMessage("Please enter your login details");
                build.setCancelable(false);

                build.setPositiveButton("Ok",
                        new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface dialog,
                                    int which) {
                                dialog.cancel();

                            }
                        });
                AlertDialog alert = build.create();
                alert.show();
            } else {
                Toast.makeText(getActivity(), "Welcome", Toast.LENGTH_SHORT)
                        .show();
                Intent intent = new Intent(getActivity(), Home.class);
                startActivity(intent);
            }

        }
    });
    return view;
}
}

誰かがこれを手伝ってくれますか?他の人からの質問についても同様の質問を読みましたが、問題は解決しませんでした。

4

1 に答える 1

0

文字列でその値を取る必要はありません。これに対する解決策は以下のとおりです。これをクラスレベルで定義する

EditText username;
EditText password;

そしてこれに従ってください

username = (EditText) findViewById(R.id.User_name_value);
password = (EditText) findViewById(R.id.password_value);
if (username.getText().toString().equals("") || password.getText().toString().equals("")) 
{
    // Log.i("TAG!","Inside if condition");
    Toast.makeText(this, user_text, Toast.LENGTH_SHORT).show();
} else {

}
于 2012-10-05T10:58:40.617 に答える