Android 如何在listview中的列表视图项上添加搜索功能来自BaseAdapter
我必须在listview中的Edittext项上添加搜索功能,这些项来自baseadapter 我正在使用此代码,但是.getFilter().filter(s.toString());他不来了 我的代码是:Android 如何在listview中的列表视图项上添加搜索功能来自BaseAdapter,android,listview,baseadapter,Android,Listview,Baseadapter,我必须在listview中的Edittext项上添加搜索功能,这些项来自baseadapter 我正在使用此代码,但是.getFilter().filter(s.toString());他不来了 我的代码是: approvedfriendList.setAdapter(new ApprovedList()); //*********Search Functionality in Approved Friend List************************
approvedfriendList.setAdapter(new ApprovedList());
//*********Search Functionality in Approved Friend List************************
serch_item.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
// approvedfriendList.getFilterTouchesWhenObscured().f
}
@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
}
});
approvedfriendList is ArrayList
我不知道如何在这里使用.getFilter().filter(s.toString());使用ApprovedList()(基本适配器类)首先,您应该通过添加以下代码行来启用列表视图以进行筛选:
list.setTextFilterEnabled(true);
然后,只需在文本视图中添加一个文本观察程序:
text.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
adapter.getFilter().filter( s.toString());
list.setAdapter(adapter);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable prefix) {
}
});
我在我的应用程序中实现了联系人搜索。以下是代码的一部分:
searchContacts.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
temp.clear();
for (int i = 0; i < emailIds.size(); i++) {
if (emailIds.get(i).toLowerCase().startsWith(s.toString())) {
temp.add(emailIds.get(i));
}
}
Collections.sort(temp);
contacts.notifyDataSetChanged();
for (int i = 0; i < temp.size(); i++) {
if (sqlHandler.isChecked(temp.get(i))) {
lvContacts.setItemChecked(i, true);
} else {
lvContacts.setItemChecked(i, false);
}
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
}
});
searchContacts.addTextChangedListener(新的TextWatcher(){
@凌驾
public void onTextChanged(字符序列,int start,int before,
整数计数){
温度清除();
对于(int i=0;i
。检查自定义搜索的链接。在ListView中搜索我得到一个错误和我的应用程序FC。