我正在尝试实现使用自定义对象适配器的ListView的过滤,但我找不到任何有用的示例.包含的代码非常简单,所以不要记住我不能使用常规的ArrayAdapter.我在ListView上面有一个EditText,当用户在EditText小部件中输入文本时,我想通过EditText中写的文本过滤ListView.我们欢迎所有的建议!
以下是活动类的片段:
public class management_objects extends Activity {
private static List<User> UserList;
private EfficientAdapter adapter = null;
private ListView objectListView = null;
private EditText SearchText = null;
private static class EfficientAdapter extends BaseAdapter implements Filterable{
private LayoutInflater mInflater;
public EfficientAdapter(Context context) {
mInflater = LayoutInflater.from(context);
}
public int getCount() {
return UserList.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder; …Run Code Online (Sandbox Code Playgroud) 我正在开发应用程序,其中有列表和上面的编辑文本,我将在editText中键入内容的那一刻我应该得到结果匹配的类型word.bt我不能得到结果,Plz告诉我在哪里犯错误?以下是我的活动和适配器.
**活动**
public class ListFilterActivity extends ListActivity{
ListView list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_filter);
list = getListView();
list.isTextFilterEnabled();
// final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
// android.R.layout.simple_list_item_1, android.R.id.text1,
// getModel());
final CustomAdapter adapter = new CustomAdapter(ListFilterActivity.this, getModel());
setListAdapter(adapter);
EditText filterEditText = (EditText) findViewById(R.id.filterText);
filterEditText.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence s, int start, int before,
int count) {
adapter.getFilter().filter(s.toString());
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
public void afterTextChanged(Editable s) { …Run Code Online (Sandbox Code Playgroud)