在我的程序中,我試圖通過EditText
搜索ListView
中的某些聯繫人。
的代碼是:帶有EditText的過濾器ListView不起作用Android
private ArrayList<String> listContacts=new ArrayList<String>();
private ArrayList<String> sortContacts;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.myprofile_layout);
listViewContacts = (ListView) findViewById(R.id.listViewContacts);
editTextSearch = (EditText) findViewById(R.id.editTextSearch);
listContacts.add("User1");
listContacts.add("Albert");
listContacts.add("lol");
listContacts.add("str");
sortContacts = listContacts;
editTextSearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
sortContacts.clear();
for (int i = 0; i < listContacts.size(); i++) {
if(editTextSearch.getText().length() <= listContacts.get(i).length()){
if(listContacts.get(i).toLowerCase().contains(editTextSearch.getText().toString().toLowerCase()))
{
sortContacts.add(listContacts.get(i));
}
}
}
updateAdapter();
}
程序不起作用:插入字符ListView
擦除。通過調試,我看到listContacts
列表是空(size()=0)
。有任何想法嗎?
您的適配器在哪裏? ListView在哪裏? –