正直なところ、この質問に適切な名前を付ける方法がわかりませんでした..
これらの列を持つ sqlite db があります。
private final String createDb = "CREATE TABLE IF NOT EXISTS " + TABLE_NAME + " ( "
+ C_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ DATE + " text, "
+ SUBCAT + " text, "
+ ITEM + " text, "
+ PRICE + " integer, "
+ QUANTITY + " integer, "
+ WEIGHT + " integer, "
+ VOLUME + " integer, "
+ SALE + " text, "
+ STORE + " text, "
+ EXTRA + " text) ";
ViewBinder以下のようなSQLクエリを呼び出そうとしていました。
public String avgPrice() {
ourHelper = new DbHelper(ourContext);
db = ourHelper.getReadableDatabase();
String sql = "SELECT AVG(PRICE) as avgprice, ITEM FROM " + TABLE_NAME + " GROUP BY " + ITEM;
Cursor d = db.rawQuery(sql, null);
私はもともと、各列のテキストビューを含む XML を持つ ListView を持っていました。これは、各列をデータベースから 1:1 でプルするだけです。アダプターで簡単にできました。ViewBinder入力された各アイテムの平均価格を検出するために使用しようとしています(異なる日付などの重複インスタンスがある場合)、それがアイテムに表示されます。
基本的に、ListView に各アイテムを 1 回だけ (平均価格で) 表示し、それを選択すると、保存されている各インスタンス (履歴など) を表示できます。
私がいる場所からこれを行う最も簡単な方法は何ですか? ViewBinder上記のメソッド (またはクエリ) を使用できると仮定するとITEM and AVG(PRICE)、「履歴」機能を実現するために、適切なビューを 1 回だけ配置するために抽出するにはどうすればよいですか?