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 объект, который не будет равен "",

Другие вопросы по тегам