我正在开发一个应用程序,其中搜索视图位于主活动的操作栏中。在主活动中有3个片段,每个片段中都有一个列表视图。问题是当在活动的操作栏中实现搜索视图时,如何对片段的列表项进行排序。
我正在使用简单的游标适配器和具有自定义行的列表视图,其中包含textview和imageview。
这是活动中搜索视图的代码:
SearchManager SManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
MenuItem searchMenuItem = menu.findItem(R.id.action_search);
android.support.v7.widget.SearchView searchViewAction = (android.support.v7.widget.SearchView) MenuItemCompat.getActionView(searchMenuItem);
searchViewAction.setSearchableInfo(SManager.getSearchableInfo(getComponentName()));
searchViewAction.setIconifiedByDefault(true);
android.support.v7.widget.SearchView.OnQueryTextListener textChangeListener = new android.support.v7.widget.SearchView.OnQueryTextListener()
{
@Override
public boolean onQueryTextChange(String newText)
{
// this is your adapter that will be filtered
adapter.getFilter().filter(newText);
System.out.println("on text chnge text: "+newText);
return true;
}
@Override
public boolean onQueryTextSubmit(String query)
{
// this is your adapter that will be filtered
adapter.getFilter().filter(query);
System.out.println("on query submit: "+query);
return true;
}
};
searchViewAction.setOnQueryTextListener(textChangeListener);
代码片段的代码如下
Cursor mCursor = getContacts();
getActivity().startManagingCursor(mCursor);
c_adapter = new SimpleCursorAdapter(getActivity(), R.layout.contact_item, mCursor,
new String[]{ContactsContract.Contacts.DISPLAY_NAME
, ContactsContract.Contacts.PHOTO_THUMBNAIL_URI, ContactsContract.Contacts._ID},
new int[]{R.id.username1, R.id.ivuserpicicon1});
if (c_adapter.getCount() == 0) {
Toast.makeText(getActivity(), "No Items Available", Toast.LENGTH_SHORT).show();
}
listview = (ListView) view.findViewById(R.id.listview);
listview.setAdapter(c_adapter);
listview.setTextFilterEnabled(true);
我该如何实现搜索视图(searchview)?我需要一些指导。