TextView.setVisibility(GONE)不工作

TextView.setVisibility(GONE) isn't working

我有一个 SeekBar,当它移动时,拇指上方会显示一个 TextView(作为工具提示)。另外,搜索栏下方有一个EditText

当我不移动搜索栏的拇指时,TextView 不会显示。它仅在我移动拇指或更改 EditText 中的数字时出现。我希望它在我停止移动拇指时或在我完成输入 EditText.

后消失

我让它在停止跟踪时消失,但问题是,如果我在 EditText 中输入内容,它就会卡在那里。

我试过了:

@Override
public void afterTextChanged(Editable arg0) {
    textView.setVisibility(GONE);
}

但这似乎不起作用。当我键入内容时,它会出现并一直停留在那里,直到我移动拇指。

如何让它在我完成输入后消失?

你可以试试这个:

    editText.addTextChangedListener(new TextWatcher() {

                @Override
                public void onTextChanged(CharSequence s, int start, int before, int count) {
                }


                @Override
                public void afterTextChanged(Editable str) {
                    new Handler().postDelayed(new Runnable() {
                        @Override
                        public void run() {
                           textView.setVisibility(View.GONE);
                        }
                    }, 500);

                }


                @Override
                public void beforeTextChanged(CharSequence s, int start, int count,
                                              int after) {
                    textView.setVisibility(View.VISIBLE);
                }

            });

您还可以为 post 500 毫秒的延迟添加处理程序,这将提供更正确的视图。

试试看,好像少了View。

@Override
public void afterTextChanged(Editable arg0) {
    textView.setVisibility(View.GONE);
}