0

次のようなRelativeLayoutを使用したカスタムListViewアイテムがあります...

| Time | Title        |
|      | Description  |

注: 左側の「時間」は、「タイトル」と「説明」が個別に「スタックされた」TextView である単一のフルハイト TextView です。

ListView アイテムは、SimpleCursorAdapter を使用して SQLite DB から抽出されたテレビ番組を表します。これは問題なく動作しますが、次のステップは、番組の録画がスケジュールされていることを示すことです (アプリは、PC ベースの PVR アプリケーションの Android クライアントです)。

SQL クエリは、'start_time,title,description,is_set_to_record' を選択します。最初の 3 つは TextView にバインドするテキスト フィールドで、最後の 3 つはブール値です。

おそらく SimpleCursorAdapter を拡張する必要があるように思われるので、'is_set_to_record' が true の場合、3 つの TextView すべての背景色を別の色に設定します。問題は、これを行うためにどこを見ればよいかわからないことです。

これは可能ですか?もしそうなら、私が見るべき場所へのポインタは高く評価されます。

4

1 に答える 1

4

拡張された SimpleCursorAdapter では、次のようなことができます。

@Override
public View getView(int position, View convertView, ViewGroup parent) {
     View v = super.getView(position, convertView, parent);
     Cursor c = getCursor();
     c.moveToPosition(position);
     int col = c.getColumnIndex(is_set_to_record);
     boolean isSet = c.getInt(col) == 1;
     if (isSet) {
         // Set the background color of the text.
     } else {
         // Set the background color to something else.
     }
     return v;
}
于 2011-02-10T01:42:53.157 に答える