伙计们,我需要一些帮助。我一直在尝试在我的项目中实现SearchView。但是我的项目中包含一个带有附加自定义适配器的列表视图。我搜索了许多站点,但所有站点都有使用arrayadapter实现的示例。让我们说我有一个Employee类,它包含名称和年龄字段。如何仅使用员工的姓名来过滤员工。public class MainActivity extends Activity implements SearchView.OnQueryTextListener{SearchView mSearchView;ListView mListView;//String mStrings[]= {"abc","def","efg","ghi","ijk","apple","agxhsdgc","abbbcc"};ArrayList<Employee> emp_list=null;EmployeeAdapter emp_adapter=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mSearchView=(SearchView) findViewById(R.id.searchView1); mListView=(ListView) findViewById(R.id.listView1); emp_list=new ArrayList<Employee>(); emp_list.add(new Employee("ABC", 24)); emp_list.add(new Employee("ACB", 24)); emp_list.add(new Employee("BVF", 28)); emp_list.add(new Employee("BRT", 28)); emp_list.add(new Employee("ANM", 23)); emp_adapter=new EmployeeAdapter(MainActivity.this, emp_list); mListView.setAdapter(emp_adapter);// mListView.setAdapter(new ArrayAdapter<String>(this,// android.R.layout.simple_list_item_1,// mStrings)); mListView.setTextFilterEnabled(true); setupSearchView(); } private void setupSearchView() { mSearchView.setIconifiedByDefault(false); mSearchView.setOnQueryTextListener(this); mSearchView.setSubmitButtonEnabled(true); mSearchView.setQueryHint("Search Here"); } @Override public boolean onQueryTextChange(String newText) { if (TextUtils.isEmpty(newText.toString())) { mListView.clearTextFilter(); } else { mListView.setFilterText(newText.toString()); } return true; } @Override public boolean onQueryTextSubmit(String query) { return false; } }
3 回答
- 3 回答
- 0 关注
- 744 浏览
添加回答
举报
0/150
提交
取消