Java EditText为空且该方法始终返回true?

Java EditText为空且该方法始终返回true?,java,android,android-edittext,Java,Android,Android Edittext,知道为什么下面发布的方法isTopicExist()总是返回true 在下面的代码中,我通过调用方法isTopicExist来检查EditText是否有文本,但是在运行时,我没有输入任何文本并按下按钮,我希望在else语句中看到toast,但是toast从不显示,并且if(isTopicExist()&&(getSelectedRB()!=-1))始终为true 我错过了什么 代码 @Override public void onClick(View v) {

知道为什么下面发布的方法
isTopicExist()
总是返回true

在下面的代码中,我通过调用方法
isTopicExist
来检查
EditText
是否有文本,但是在运行时,我没有输入任何文本并按下按钮,我希望在
else
语句中看到
toast
,但是
toast
从不显示,并且
if(isTopicExist()&&(getSelectedRB()!=-1))
始终为
true

我错过了什么

代码

@Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            if (isTopicExist() && (getSelectedRB() != -1)) {
                Log.d(TAG, "Topic: "+et_topic.getText().toString());
                Log.d(TAG, "QoS_Level: "+getSelectedRB());
                subscription_topic = et_topic.getText().toString();
                subscription_QoS = getSelectedRB();
            }else {
                Toast.makeText(getActivity(), "Topic is a mandatory field", Toast.LENGTH_LONG).show();
            }
        }
        private boolean isTopicExist() {
            // TODO Auto-generated method stub
            if (et_topic.getText().equals(""))
                return false;
                return true;
        }
    });

将您的
if
语句更改如下:

 if (et_topic.getText().toString().trim().equals(""))

EditText#getText()
返回一个
可编辑的
对象,该对象不等于

更改
if
语句,如下所示:

 if (et_topic.getText().toString().trim().equals(""))
EditText#getText()
返回一个
可编辑的
对象,该对象不等于

,请尝试以下操作:

private boolean isTopicExist() 
{
            // TODO Auto-generated method stub
            if (et_topic.getText().toString().trim().equalsIgnoreCase(""))
                return false;

                return true;
        }
    });
试试这个:

private boolean isTopicExist() 
{
            // TODO Auto-generated method stub
            if (et_topic.getText().toString().trim().equalsIgnoreCase(""))
                return false;

                return true;
        }
    });

是否有任何内置方法来检测字段是否为空(无字符和数字)?因为用户可能不会将edittext留空,但他可能会输入一个空格,在这种情况下空格!0=“”,测试将通过
字符串#trim()
方法将删除任何空格,如果您不想计算。我编辑了我的答案以添加空格,但我想指出@Ludger在我之前就有这个答案。是否有任何内置方法来检测字段是否为空(没有字符和数字)?因为用户可能不会将edittext留空,但他可能会输入一个空格,在本例中为空格!0=“”,测试将通过
String#trim()
方法将删除任何空格,如果您不想计算的话。我编辑了我的答案以添加空格,但我想指出@Ludger在我之前就有这个答案。出于好奇,有什么理由忽略空字符串上的大小写吗?我一直在问忽略大小写:)在我的特殊情况下,我使用equalsIgnoreCase()比较字符串和等于比较两个对象,例如两个类。出于好奇,有没有理由忽略空字符串上的大小写?我一直在问忽略大小写:)在我的特殊情况下,我使用equalsIgnoreCase()比较字符串和等于比较两个对象,例如两个类。