この 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 をそれに設定し、その主キーに関連するアドレスを取得できることが理想的ですが、次の主キーを取得するにはどうすればよいですか?エントリ?この問題を解決する他の方法も高く評価されます。
ありがとう!!