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);
}
我有一个 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);
}