2

特定のインデックスのカーソルに項目 (および null) を挿入したいと考えています。

たとえば、5 行の情報を表示する必要がありますが、クエリでは 3 つのレコードしかないカーソルが表示されるため、他の 2 つの列 (2 行目と 4 行目と仮定します) を「利用できる情報がありません」として表示する必要があります。 . ビュー ロジックは既に存在しており、カーソルを受け取り、そのインデックスでアイテムをチェックして残りを行い、そのインデックスで null が見つかった場合は「利用可能な情報がありません」と表示します。したがって、カーソル内のレコードが 5 つ未満の場合は、2 番目と 4 番目のインデックスを null として含める必要があり、同じものを表示する必要があります。

しかし、最初の調査の結果、特定のインデックスでカーソルに挿入する方法がないことがわかりました。この「カーソルを手動で更新する」ことについて何か考えがある人はいますか?

4

2 に答える 2

0

この方法でカーソルを更新することはできません。

リストを変更してArrayListAdapterを実行し、返されたデータをカーソルからArrayListに変換することをお勧めします。

これにより、前述の方法でArrayListを操作できるようになります。

于 2013-03-01T08:57:54.037 に答える
0

カーソルを変更することはできません (MatrixCursor を作成してコンテンツをコピーする場合を除きます。カーソルは詳細を表示するのではなく、実際にはデータを反映することになっているため、悪い習慣です)。

できることは、次のように CursorAdapter を変更することです。

/** Returns at least MIN_ITEM */
@Override
public int getCount() {
    return Math.min(MIN_ITEM, super.getCount());
}

@Override
public void bindView(View view, Context context, Cursor cursor) {
    if (cursor.isAfterLast()) {
        // Bind 'No information available' to your view
    } else {
        // Your current implementation
    }
}
于 2013-03-01T09:55:21.380 に答える