Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';t在AlertDialog.Builder中检查EditText的值_Java_Android_Android Edittext_Android Alertdialog - Fatal编程技术网

Java Can';t在AlertDialog.Builder中检查EditText的值

Java Can';t在AlertDialog.Builder中检查EditText的值,java,android,android-edittext,android-alertdialog,Java,Android,Android Edittext,Android Alertdialog,我试图在AlertDialog.Builder中检查EditText的值,以便防止用户在EditText中输入任何内容 由于某种原因,当我使用下面的代码时,它从未进入如果(mEditText.getText()==null | | test==“”)语句,它总是执行else语句 有什么想法吗?谢谢各位 @Override protected Dialog onCreateDialog(int id) { LayoutInflater factory = Layo

我试图在AlertDialog.Builder中检查EditText的值,以便防止用户在EditText中输入任何内容

由于某种原因,当我使用下面的代码时,它从未进入
如果(mEditText.getText()==null | | test==“”)
语句,它总是执行else语句

有什么想法吗?谢谢各位

    @Override
    protected Dialog onCreateDialog(int id) {

        LayoutInflater factory = LayoutInflater.from(mContext);
        final View textEntryView = factory.inflate(R.layout.file_save_dialog, null);
        mEditText = (EditText) textEntryView.findViewById(R.id.file_name_edit);
        final Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake); 

        return new AlertDialog.Builder(mContext)
            .setIcon(android.R.drawable.ic_menu_save)
            .setTitle(R.string.file_name_title)
            .setView(textEntryView)
            .setPositiveButton(R.string.dialog_ok, new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                    String test = mEditText.getText().toString();

                    //This if never works...it always hits the else statement
                    if (mEditText.getText() == null || test == "") {
                        mEditText.startAnimation(shake);
                    }
                    else {
                        finish();
                    }

                }
            })
            .setNegativeButton(R.string.dialog_cancel, new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                    finish();
                }
            })
            .create();
    }
这样说吧

if (test == null || test.length() <= 0) {
    mEditText.startAnimation(shake);
}
else {
    finish();
}
if(test==null | | test.length()

if (test == null || test.length() <= 0) {
    mEditText.startAnimation(shake);
}
else {
    finish();
}

if(test==null | | test.length()以Android方式执行:

if (TextUtils.isEmpty(mEditText.getText()) {
    mEditText.startAnimation(shake);
} else {
    finish();
}

用Android的方式进行操作:

if (TextUtils.isEmpty(mEditText.getText()) {
    mEditText.startAnimation(shake);
} else {
    finish();
}

如果要比较两个字符串值,请使用方法
equals()

例如:

stringOne.equals(stringTwo);

如果要比较两个字符串值,请使用方法
equals()

例如:

stringOne.equals(stringTwo);

谢谢。检查长度确实有效,但我不明白为什么我的原始代码不起作用。您的原始代码不起作用,因为在Java中字符串与equals()比较,not==谢谢。检查长度确实有效,但我不明白为什么我的原始代码不起作用。您的原始代码不起作用,因为在Java中,字符串与equals()比较,而不是==