我有一个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);
}