具有自定义适配器的ListView中的SearchView

伙计们,我需要一些帮助。我一直在尝试在我的项目中实现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;

        }



    }


狐的传说
浏览 745回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android