How to get the item id in an onItemClick handler

前端 未结 4 457
花落未央
花落未央 2020-12-16 06:24

I have a category table with two columns category_id and name. I have created a data helper class named CategoryDataHelper. I have a m

相关标签:
4条回答
  • 2020-12-16 07:04

    How about in onItemclick:

    categoryCursor.moveToPosition(position);
    

    and then from the returned cursor get the ID from your helper?

    0 讨论(0)
  • 2020-12-16 07:11

    You probably should get the cursor from the adapter. This way if your cursor gets replaced you are still are still getting a valid cursor.

    Cursor cursor = ((SimpleCursorAdapter) adapterView).getCursor();
    cursor.moveToPosition(position);
    long categoryId = cursor.getLong(cursor.getColumnIndex(CategoryDataHelper.ID));
    

    or use "category_id" or whatever the name of your column is in place of CategoryDataHelper.ID.

    0 讨论(0)
  • 2020-12-16 07:13

    With the SimpleCursorAdapter, the onItemClick function passes in the databases id for the selected item. So, the solution is simply

    long category_id = id
    
    0 讨论(0)
  • 2020-12-16 07:17

    Thanks Zack, I could solve with your post...Excelent!!! ... I send a parameter from an activity to another so:

    Intent myIntent = new Intent(Clientes.this, Edc.class);
    Cursor cursor = (Cursor) adapter.getItem(position);
    myIntent.putExtra("CLIENTE_ID", cursor.getInt(cursor.getColumnIndex("_id")));
    startActivity(myIntent);
    

    In the other activity (EDC)....i get the parameter so:

    int _clienteId = getIntent().getIntExtra("CLIENTE_ID", 0);
    
    0 讨论(0)
提交回复
热议问题