У меня есть код:

...
        final EditText edit_1= (EditText) findViewById(R.id.editText1);
        edit_1.setVisibility(View.VISIBLE);

        final EditText edit_2= (EditText) findViewById(R.id.editText2);
        edit_2.setVisibility(View.INVISIBLE);
...
        btn_next.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {

                // TODO Auto-generated method stub

                if (edit_1.getText().toString() == "1")
                {
                    edit_2.setVisibility(View.VISIBLE);
                }
            }
        });

По умолчанию первый EditText виден, а второй - невидим. Я хочу, чтобы второй редактор был видимым после нажатия кнопки, если в первом редакторе набрано «1». Не работает, что не так?

0
Alexander Vasilchuk 15 Апр 2016 в 23:20

2 ответа

Лучший ответ

Чтобы сравнить две строки, операнд == не работает, вам нужно использовать метод equals().

Внутри OnClick() вам понадобится что-то вроде этого:

if (edit_1.getText().equals("1"))
{
       edit_2.setVisibility(View.VISIBLE);
}
3
Marco 15 Апр 2016 в 20:29

Вы должны попробовать что-то вроде этого:

//***IN ONCLICK LISTENER***//
String text = edit_1.getText().toString();
        if (text.equals("1")) { 
    edit_2.setVisibility(View.VISIBLE);
     }
1
Asama 15 Апр 2016 в 20:30