任何想法为什么下面发布的此方法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;
}
});
答案 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;
}
});