1

...カーソルを使用して、SQL db の 3 つの異なる列から個々の (無限の) 行を選択します。最初の列には ID が含まれます。2 番目の列には正味重量が含まれ、3 番目の列には実際の重量が含まれます。データベースには他にも列がありますが、関連する列は前の列だけです。

次に、2 つの数値を取り、簡単な算術演算を行う必要があります... (簡単です。問題ありません) その後....

行に正味重量の 15% 未満の実際の重量が含まれている場合は、このアイテムの expandableListView の背景を赤にします。そうでない場合は、緑、紫、ピンクなどにとどまります。

ここに私のスペックがあります:

SQL データベースExpandableListViewにリンクされているsimpleCursorTreeAdapter 。

ここに私が見つけたものがあります:

私はいくつかの異なるチュートリアル、androiddocs、q&a を読みましたが、それらはすべて getGroupView() を指しています。すべてのチュートリアルの問題は次のとおりです。アダプターはBaseExpandableListAdapterから拡張されています。残念ながら、私は何度かその道をたどってきました。私はSQL liteデータベースを使用しています。

しかし、SimpleCursorTreeAdapter が BaseExpandableAdapter を拡張していることに気付きました。したがって、これを機能させる方法があるはずです。

問題:

getGroupView() を使用して個々の位置を循環する方法を見つける必要があります。ネット全体に散らばっているチュートリアルとは異なり、私のデータはデータベースから取得されており、チェックボックスは使用していません。

groupView を使用してすべての項目を正常に緑または赤に変えることはできますが、1 つの return ステートメントで必要なことを行う方法はありません。

どこを見ればいいですか?興味を引くまで、コードの投稿を保留したいと思います。

4

2 に答える 2

0

ここに移動します: Android: ExpandableListViewActivity の子内の TextView にアクセスし、SQL データベースのデータに基づいてアダプターからフェッチされるビューの色を設定します。

次に、アダプターで notifyDataSetChanged() を呼び出してビューを強制的に再度フェッチします。これにより、SQL データベースが変更された場合に新しい色が表示されます。

于 2012-09-11T23:33:06.797 に答える