EditText пуст и метод всегда возвращает true?
Любая идея, почему этот метод isTopicExist()
размещенный ниже всегда возвращает истину;
в приведенном ниже коде я проверяю это 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 ответа
Решение
Попробуй это:
private boolean isTopicExist()
{
// TODO Auto-generated method stub
if (et_topic.getText().toString().trim().equalsIgnoreCase(""))
return false;
return true;
}
});
Измени свой if
утверждение следующее:
if (et_topic.getText().toString().trim().equals(""))
EditText#getText()
возвращает Editable
объект, который не будет равен ""
,