我有一个用于搜索目的的编辑文本。我添加了
searchET.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
//intent to another page where i show my search result
}
});
问题是: 当我为例如:“fort”提供搜索字符串时,我会在下一页中获得所需的结果。但是当我按下后退按钮时,它不会在第一次点击时移动到上一页。我将不得不按回按钮4次以转到上一页。这是因为我的搜索字符串长度为4,每次在edittext中输入值时,都会调用textchangelistener。我该如何解决这个问题?请回复。提前谢谢。
答案 0 :(得分:2)
根据您的需要,您可以根据某些条件转到下一页。例如,启动计时器,如果在计时器到期之前调用afterTextChanged
,则重置计时器。或者,您可以使用“搜索”按钮,用户明确表示他已完成输入单词。
如果您可以分享所需的行为,可以建议更好的替代方案。
答案 1 :(得分:0)
实际上,当您想要决定文本何时结束时,没有必要包含addTextChangedListener。要改进用户界面,您可以将此按钮添加到您的编辑文本中。请参阅:edittext with view