0

この SQLite データベースの操作で問題が発生しています。エントリを削除する機能を追加するまで、すべてがうまくいきました。for ループを使用してエントリをループ処理しますが、エントリが削除されると、すべての主キーが 1 からエントリ数 (for ループの条件) の間にあるわけではありません。

このコードは、個々のクリック可能な TableRows にすべてのエントリを表示するアクティビティの一部です。私の主な問題は、OnClickListener で使用する ID をどのように設定するかです。

numFavs は、DB 内のエントリ数と同じです。favs は、私の Database クラスのインスタンスです。

    for(long i = 1; i <= numFavs; i++) {
        TableRow tr = new TableRow(this);
        tr.setOrientation(TableRow.VERTICAL);
        tr.setClickable(true);
        tr.setOnClickListener(this);
        tr.setId((int)i); //NEED TO FIX THIS
        TextView newTV = new TextView(this);
        newTV.setText(favs.getAddress(i).getString("add"));
        tr.addView(newTV);
        ll.addView(tr);     

        TextView spacer = new TextView(this);
        spacer.setHeight(50);
        ll.addView(spacer);
    }

各エントリの ROW_ID (主キー) を取得し、TableRow ID をそれに設定し、その主キーに関連するアドレスを取得できることが理想的ですが、次の主キーを取得するにはどうすればよいですか?エントリ?この問題を解決する他の方法も高く評価されます。

ありがとう!!

4

1 に答える 1