3

データベースを格納するデータベースクラスがあり、次の方法ですべてのレコードにアクセスできます。

public Cursor getAllRecords() {
        return db.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_TEXT}, null, null, null, null, null);
    }

テーブルレイアウトを更新して、フィールド KEY_TEXT エントリを表示するにはどうすればよいですか?

さらに、(削除と挿入の両方の方法があることを念頭に置いて) テーブル内のエントリをタップし、それを削除 (およびエントリを追加) してリアルタイムで表示する方法を実装することは可能ですか? : 何かをタップして削除すると、テーブル ビューからも消えるはずです。

4

2 に答える 2

0

リストビューとカーソル アダプタを使用する必要があります。次に、そのクエリから取得した配列またはリストにカーソル アダプターをバインドします。

于 2012-08-23T18:27:24.173 に答える
0

テーブルレイアウトの各行に各カーソル反復からのデータを入力するループを手動で実行するだけでなく、希望どおりにテーブルレイアウトに入力する方法はありません。

あなたが望むのは、アダプターを使ってそれを行う何らかの方法だと思います。その場合、私がアドバイスするのはこれを見ることです:

各行がクエリ結果の行に対応する複数列のリスト ビューを使用する必要があります。このように、リスト アダプターを使用して、各エントリを手動で行う必要がなくなります。次に、itemselected リスナーにリストを簡単に設定して、リスト エントリと対応する値をデータベースから削除できます。

編集

明確にするために、私が言っているのは、これをリストビューとして行う方がよいということです。リストビューの各項目には、列をシミュレートするセクションがあります。明確に定義された列に関してさらに分離する場合は、アイテム レイアウトでストロークを使用して垂直線を描画します。

于 2012-08-23T18:04:56.337 に答える