我正在将电话联系人加载到列表中并在edittext上实现TextChangedListener,如下所示
editTxt.addTextChangedListener(new TextWatcher() {
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
public void afterTextChanged(Editable s) {
final TextView noDataFound = (TextView) findViewById(R.id.norecords);
inputName = s.toString();
if(inputName!=null&&!inputName.trim().equals("")){
Log.d(TAG, "LoadMoreEntries --> Constants.loadEntries : "
+ Constants.loadEntries);
if (Constants.loadEntries != null) {
Constants.loadEntries.cancel(true);
}
Constants.loadEntries = new LoadEntries();
Constants.loadEntries.execute();
}
Button closesearch = (Button) findViewById(R.id.closesearch);
if (inputName != null && !inputName.trim().equals("")) {
closesearch.setVisibility(View.VISIBLE);
} else {
closesearch.setVisibility(View.GONE);
}
closesearch.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (Constants.loadEntries != null) {
Constants.loadEntries.cancel(true);
Constants.loadEntries = new LoadEntries();
Constants.loadEntries.execute();
}else {
}
return false;
}
});
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
}
});
在这里,当用户输入正确的名称时,它会给出名称,而当他输入错误的名称时,它不会显示任何数据。我的问题是当我输入正确的名称并擦除时,整个列表已加载,但是当我输入错误的名称且不显示任何数据并且在擦除名称时,列表没有更新。在输入名称并单击该按钮后,我也有“ x ”按钮,这应该会恢复我的所有列表。任何帮助表示赞赏