【发布时间】:2015-12-09 17:09:27
【问题描述】:
我在编辑文本上使用 textChangedListener 来显示/隐藏浮动操作按钮。
一切都按预期工作。 如果编辑文本不为空则显示 fab,如果为空则隐藏 fab。
但是我注意到,在使用退格键删除输入的文本时,删除第一个空格会触发隐藏 fab,然后快速显示 fab,因为 editText 不为空。
我环顾四周,没有看到任何关于此的内容。 所以我一定是做错了什么,但我不确定是什么。
以下是我的实现。我已经尝试过并且都给了我相同的行为
if(editText.getText().toString().isEmpty())
if(editText.getText().toString().length()==0))
if(editText.getText().toString().equals("")
editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
Log.d(TAG, "TEXT CHANGED onTextChanged" + editText.getText().toString());
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
Log.d(TAG, "TEXT CHANGED beforeTextChanged" + editText.getText().toString());
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
Log.d(TAG, "TEXT CHANGED afterTextChanged" + editText.getText().toString());
// s = editText.getText().toString(); editText.getText().toString()
if (s.toString().isEmpty()) {
fab.setVisibility(View.INVISIBLE);
fab.setAnimation(slideDownAnim);
slideDownAnim.start();
}else{
fab.setVisibility(View.VISIBLE);
fab.setAnimation(slideUpAnim);
slideUpAnim.start();
}
// TODO Auto-generated method stub
}
});
提前致谢
***更新**** 在这里找到了解决我的问题的答案。 TextWatcher events are being fired multiple times
【问题讨论】:
-
啊在另一个线程上找到了对我有用的答案.. stackoverflow.com/questions/17535415/…
标签: android android-edittext textchanged