0

私はこのクラスを持っています。これはデータベースからデータを取得し、リストビューに表示します。

データベースからIDを取得してトーストする方法はありますか?

今、トーストが戻ってきています:android.database.sqlite.SQLiteCursor@4180c088

 public class AndroidSQLite extends Activity { 

 private SQLiteAdapter
 mySQLiteAdapter;

 @Override
 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
     setContentView(R.layout.main);
     ListView listContent = (ListView)findViewById(R.id.contentlist);

     mySQLiteAdapter = new SQLiteAdapter(this);
     mySQLiteAdapter.openToRead();

     Cursor cursor = mySQLiteAdapter.queueAll();
     startManagingCursor(cursor);

     String[] from = new String[]{SQLiteAdapter.KEY_NOME,SQLiteAdapter.KEY_ID};
     int[] to = new int[]{R.id.text,R.id.id};

     SimpleCursorAdapter cursorAdapter =
      new SimpleCursorAdapter(this, R.layout.row, cursor, from, to);

     listContent.setAdapter(cursorAdapter);

     listContent.setOnItemClickListener(new OnItemClickListener() {
         public void onItemClick(AdapterView<?> parent, View view, int position,
                 long id) {
                //GET ID FROM DATABASE
                Toast.makeText(getBaseContext(), parent.getItemAtPosition(position).toString(), Toast.LENGTH_LONG).show();
                //THIS TOAST IS RETURNING "android.database.sqlite.SQLiteCursor@4180c088"
         }
     });

     mySQLiteAdapter.close();
 } }
4

1 に答える 1

6

:のidパラメータを使用するだけです。onItemClick()

Toast.makeText(getBaseContext(), id + "", Toast.LENGTH_LONG).show();

将来の参考のために、現在カーソル全体を文字列として使用しようとしている場合は、次のような列を選択します。

Toast.makeText(getBaseContext(), parent.getItemAtPosition(position).getLong(0), Toast.LENGTH_LONG).show();

(SimpleCursorAdapterの場合、最初の列は常に_id列であるため、getLong(0)。)

于 2012-10-29T17:17:15.657 に答える