SQL データベースのListView lv
を使用してデータを入力する があります。Cursor c
ただし、項目が選択されている場合は、行の ID を取得する必要があります。これどうやってするの?
質問する
2934 次
2 に答える
2
SimpleCursorAdapter(または同様のもの)を使用していると想定しているので、OnItemClickListenerを使用します。
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// id references the SQLiteDatabase _id column
}
});
于 2012-09-04T17:50:53.697 に答える
1
これが私にとってどのように機能したかです。他のクラスでは、List タイプのメソッドを作成し、列 ID と項目の名前を sqlite データベースからリストに追加しました。
選択した項目の列 ID を取得するコードは次のとおりです。
public List<String> list;
adapt = new MyAdapter(this, R.layout.list_inner_view, list); //custom adapter
listTask.setAdapter(adapt);
listTask.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View v, int position, long l) {
Integer id = list.get(position).getId();
//position is the position of the item in the list.
}
});
結果: 項目はリストの 3 番目の位置にあります。以前の項目を削除したため、データベースの column_id (自動インクリメント) の値は 12 です。したがって、期待される結果は変数 id の値である 12 です。
これを完全に理解していない場合は、コード全体を投稿していないことが原因である可能性があります。しかし、私はあなたの問題を解決するお手伝いをします。
于 2015-02-10T09:07:39.163 に答える