我目前正在开展一个项目,该项目涉及根据我当前的位置显示附近的位置列表。
我刚刚开始使用Android编程,所以在编码阶段我还在学习。
我搜索了所有试图得到一些关于如何继续的线索。我在阅读和尝试后仍然感到困惑。
我的工作代码目前包含
问题
什么是"正确"过滤我的ListView条目的方法?我看过Filter / Filterable界面上的帖子,但它似乎不适用于我目前的设置?我是否在Custom CursorAdapter中执行过滤?
执行过滤后,如何刷新ListView?我是否调用getLoaderManager()。restartLoader(0,null,this)或者adapter.notifyDataSetChanged()?
提前致谢。
答案 0 :(得分:13)
使用getLoaderManager().restartLoader(LOADER_ID, null, MainActivity.this);
来回忆onCreateLoader
。
Android developer site example
private String filter;
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_filter :
filter = "COLUMN_NAME = value";
getLoaderManager().restartLoader(LOADER_ID, null, MainActivity.this);
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
@Override
public android.content.Loader<Cursor> onCreateLoader(int id, Bundle args) {
return new CursorLoader(
MainActivity.this, // Parent activity context
SomeContentProvider.CONTENT_URI, // Table to query
projection, // Projection to return
filter, // No selection clause
null, // No selection arguments
null // Default sort order
);
}