我已经尝试了几个小时,但无法做到这一点。我尝试通过 Bundle、静态变量、if 语句发送,但没有任何效果。
我有一种情况,我希望加载器在用户单击菜单项后加载不同的数据集。这意味着一旦收到 notifyChange,就应该更改查询。该代码是非常标准的加载器代码,如下所示:
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
String query = args.getString("query");
String[] projection = { DbCreate.ID, DbCreate.COL_ITEM, DbCreate.COL_STATUS, DbCreate.COL_SYNCED,
DbCreate.COL_PRIORITY, DbCreate.COL_COMPLETEBY, DbCreate.COL_TAG, DbCreate.COL_ASSIGNED, DbCreate.COL_SHARED};
CursorLoader cursorLoader = new CursorLoader(getActivity(),
DbProvider.CONTENT_URI_DATA, projection, query, null, "priority DESC, status ASC, _id DESC");
return cursorLoader;
}
我也在这个 onCreate 方法中尝试了通常的 if(...) 语句,但它不起作用。这意味着 notifyChange 只是触发已经创建的对象。那么如何在 notifyChange 上注入新的“查询”值?