else语句不是运行? Android

Else statement not running? Android

我有一个代码,我在 MainActivity 中实现了 onCreate,问题是,我的代码不完整 运行,我的意思是程序只检查 if 语句,并不关心关于 else 语句。这是代码。

 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        input = (EditText) findViewById(R.id.editText);
        check = (Button) findViewById(R.id.button);

        if(input.getText().toString().equals(""))
        {
            check.setVisibility(View.INVISIBLE);
        }
        else
        {

            check.setVisibility(View.VISIBLE);
        }

当我启动 activity 时,我的按钮变得不可见,而且无论我在 editText 字段中写什么,我的按钮都不可见。如我所见,应用程序不关心 else 语句,只关心 If.

也许我必须以某种方式重复这段代码?每一秒?确保程序正在检查 editText 字段是否为空?请帮助我,谢谢!

你可以试试这个。

input.addTextChangedListener(new TextWatcher() {
         @Override
         public void onTextChanged(CharSequence s, int start, int before, int count) {
         }

         @Override
         public void beforeTextChanged(CharSequence s, int start, int count, int after) {
         }

         @Override
         public void afterTextChanged(Editable editable) {

                    if(input.getText().toString().equals(""))
                    {
                        check.setVisibility(View.INVISIBLE);
                    }
                    else
                    {
                        check.setVisibility(View.VISIBLE);
                    }

         }});

您需要一个文本更改侦听器并设置文本事件的可见性:

input.addTextChangedListener(new TextWatcher() {
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        if(input.getText().toString().isEmpty()) {
            check.setVisibility(View.INVISIBLE);
        } else {
            check.setVisibility(View.VISIBLE);
        }
    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    }

    @Override
    public void afterTextChanged(Editable s) {
    }
});