これは重複した質問と呼ばれるかもしれませんが、私のケースは非常にユニークです。基本的に私は私のカーソルIDを取得する方法が必要です、それは私のテーブルのカスタムアダプタに解析されたデータベースからのIDです。そのリストをクリックすると、正しいIDがトーストされます。ここに私がこれまで持っていたものがあります...カーソルからCustomAdapterへのデータベースIDを取得する(Android)
私はcursoradapterではなくcustomadapterを使用したいと考えています。
//Get Categories from database
final Cursor cursor = dbHandler.getCategories(0);
if (cursor != null) {
if(cursor.moveToFirst()){
do{
Categories categories = new Categories();
categories.set_id(cursor.getInt(0));
categories.set_categoryname(cursor.getString(2));
categories.set_categoriescaption(cursor.getString(3));
//list.add(cursor.getString(cursor.getColumnIndex(dbHandler.COLUMN_CATEGORY_NAME)));
categoriesList.add(categories);
}while (cursor.moveToNext());
}
cursor.close();
}
カーソル私はボタンなしpostion IDをクリックすると、テーブルの実際のidを示したことにしたい私のSQLiteデータベース
listView = (ListView) view.findViewById(R.id.categories);
adapter = new CategoryAdapter(view.getContext(), R.layout.cursor_row, categoriesList);
listView.setAdapter(adapter);
listView.setOnItemClickListener(
new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String cid = String.valueOf(id);
Toast.makeText(view.getContext(), cid , Toast.LENGTH_SHORT).show();
からデータを取得します。実際のIDは1から始まるはずですが、ここでは0になります。ヘルプは高く評価されます。ありがとうございました