I have a category table with two columns category_id
and name
. I have created a data helper class named CategoryDataHelper
. I have a method named getCategoryCursor()
of that helper class which fetches the id and the name from the category table and returns the cursor. Using that cursor, I have used SimpleCursorAdapter
to display the list of categories. It is working fine.
public class Categories extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
categoryDataHelper = new CategoryDataHelper(getApplicationContext());
Cursor categoryCursor = categoryDataHelper.getCategoryCursor();
ListAdapter adapter = new SimpleCursorAdapter (
this,
android.R.layout.simple_list_item_1,
categoryCursor,
new String[] { CategoryDataHelper.NAME },
new int[] {android.R.id.text1});
// Bind to our new adapter.
setListAdapter(adapter);
list = getListView();
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// Here I want the category_id
}
});
}
}
Now I want to implement an OnItemClickListener
and send an Intent with the category_id
of the selected category. How can I get the id in the onItemClick()
method?
With the
SimpleCursorAdapter
, theonItemClick
function passes in the databases id for the selected item. So, the solution is simplyHow about in onItemclick:
and then from the returned cursor get the ID from your helper?
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.
or use
"category_id"
or whatever the name of your column is in place ofCategoryDataHelper.ID
.Thanks Zack, I could solve with your post...Excelent!!! ... I send a parameter from an activity to another so:
In the other activity (EDC)....i get the parameter so: