これはばかげた質問のように聞こえるかもしれませんが、Imはそれに苦労しています。私は見積もりアプリケーションに取り組んでいるので、アプリケーションが起動するたびにデータベースから見積もりをランダムに並べ替えたいと思います。
CursorLoaderとViewPagerを使用しています。画面にいくつかのボタン(put-to-favourites-button)があります。これは、ContentProviderのupdate()をトリガーするコンテンツリゾルバーを使用してデータベースの列を更新します。次に、更新により、行われた変更を更新するために再クエリが発生します。すべての標準。
もちろん、これにより、random()句による順序が原因で順序が異なる行が表示され、画面が「消える」ようになります。
これを回避する方法はありますか?ランダムな順序付け機能を維持したいです。
class MyContentProvider extends ContentProvider {
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
Cursor cursor = db.query(TABLE_NAME, projection, selection, selectionArgs, null, null, sortOrder);
cursor.setNotificationUri(resolver, uri);
return cursor;
}
@Override
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
int count = db.update(TABLE_NAME, values, selection, selectionArgs);
resolver.notifyChange(uri, null);
return count;
}
}