【发布时间】:2013-12-15 05:09:16
【问题描述】:
在我的 Android 项目中,我不得不将 TextChangedListener (TextWatcher) 添加到编辑文本视图中。它分为三个部分:
-
onTextChanged() -
beforeTextChanged() afterTextChanged()
这三个有什么区别?我不得不在关键侦听器上实现对表的搜索,就我而言,这三个看起来都一样。它们的功能也相同。当我输入产品名称的一部分时,表格会重新绘制仅包含其中包含输入文本的那些产品。但我使用了afterTextChanged() 部分。我的代码是:
EditProduct.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
// System.out.println("onTextChanged"+s);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
// System.out.println("beforeTextChanged"+s);
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
// System.out.println("afterTextChanged"+s);
String new_prx = s.toString();
System.out.println(s);
mini_productList = new ArrayList<Product>();
// mini_productList
int count = 0;
if (new_prx.equals("")) {
loadtableProducts(productList);
} else {
for (int i = 0; i < productList.size(); i++) {
if (productList.get(i).getDescription().toString()
.substring(0, (new_prx.length()))
.equalsIgnoreCase(new_prx)) {
mini_productList.add(productList.get(i));
count++;
}
}
loadtableProducts(mini_productList);
}
}
});
那么有人可以给我解释一下这三个吗?
【问题讨论】:
-
你可能会发现这个帖子很有帮助stackoverflow.com/questions/476848/…
标签: android textwatcher android-textwatcher