如何使用ListFragment中的setOnQueryTextListener在contactsContract中进行搜索?

时间:2016-07-08 11:11:12

标签: android searchview loader

我有一个ListFragment,它是我的ContactsContract的请求,并使用LoaderManager.LoaderCallbacks显示片段中的联系人。我已经开发了使用操作栏进行搜索的功能。我可以看到这个新功能并且它可以工作,但我不确定如何实现代码来实现这一点并在我的联系人中进行搜索:

所有帮助都是apreciate:

这是我必须在操作栏中显示搜索的代码。

@Override
    public void onCreateOptionsMenu (Menu menu, MenuInflater inflater) {
        inflater.inflate(R.menu.menu_search, menu);
        MenuItem item = menu.findItem(R.id.action_search);
        final SearchView sv = new SearchView(((MainActivity) getActivity()).getSupportActionBar().getThemedContext());
        MenuItemCompat.setShowAsAction(item, MenuItemCompat.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW | MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);
        MenuItemCompat.setActionView(item, sv);

        sv.setQueryHint(getString(R.string.type_search));
        sv.setIconifiedByDefault(false);
        sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                Toast.makeText(getActivity(), "Submitted: "+query, Toast.LENGTH_SHORT).show();
                return false;
            }

            @Override
            public boolean onQueryTextChange(String newText) {
                Toast.makeText(getActivity(), "tap: "+newText, Toast.LENGTH_SHORT).show();
                return false;
            }
        });
super.onCreateOptionsMenu(menu,inflater);
}

0 个答案:

没有答案