0

私はAndroidに少し慣れていませんが、私が知る限り、データベースをカスタム行を使用してリストビューにバインドする場合は、CursorAdapterをオーバーライドする必要があります。ただし、リストビューに実装したい機能があるため、作業を開始できません。日付の昇順でリストビューを表示するだけでなく、2つの別々のセクションを作成したいのです。私のリストビューでは、両方とも日付に従ってソートされていますが、同じカーソルを使用しています(それが可能な場合でも)。

私のスキーマの簡略化されたバージョンは次のようになります:_ID、NAME、DATE、TRUTH_VALUE

私のデフォルトのビューでは、結果のカーソルの行を日付で並べ替えますが、「TRUTH_VALUE」に従って区切られたカーソルからセクションを「フィルタリング」または作成することもできます。つまり、リストのセクション1にアイテムを含めることができます。 「TRUTH_VALUE」の任意の値が0で、日付に従ってソートされ、セクション2には、TRUTH_VALUE列が任意の1であり、日付に従ってソートされている項目が含まれています。

2つのカーソルを受け入れることができる(フィルター処理された単一のListViewにされる)アダプターなどを見つけることができないようです。また、カスタムアダプターのコンストラクターに追加のパラメーターを配置することも検討していません(インスタンス化など)。私のアダプターは、パラメーターに値を含めます。これは、アダプターがカーソルのデータをバインドする方法を変更できるかどうかを判断するのに役立ちます。これは不可能だと思いますが、パフォーマンスの問題につながることは言うまでもありません。

前もって感謝します!

4

1 に答える 1

0

SQLクエリが次の場合はどうなりますか。

SELECT _id, name, date, truth_value FROM table_name ORDER BY truth_value, date

これにより、アイテムを希望どおりに注文できます。次に、CursorAdapterで、truth_valueの値を確認し、値が変更されたら、別のことを行います。レイアウトで何を達成しようとしているのか正確にはわかりませんが。

于 2011-08-07T13:27:23.550 に答える