EditText为空,方法总是返回true?

时间:2014-11-20 14:03:40

标签: java android android-edittext

任何想法为什么下面发布的此方法isTopicExist()始终返回true;

在下面的代码中,我正在检查EditText是否有文本通过调用方法isTopicExist,但在运行时,我不输入任何文本,然后按下按钮,我我希望在toast语句中看到else,但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;
        }
    });

2 个答案:

答案 0 :(得分:3)

更改if语句,如下所示:

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

EditText#getText()会返回Editable个对象,该对象不等于""

答案 1 :(得分:3)

试试这个:

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

                return true;
        }
    });