OnClick Listener for CursorAdapter
I have created a custom CursorAdapter and I want to select a list item to start an action in onOptionsItemSelected.
Creating a list view:
public void onCreate(Bundle savedInstanceState) {
Log.d(TAG, "onCreate called");
super.onCreate(savedInstanceState);
Log.d(TAG, "create DatabaseOpenHelper");
DatabaseOpenHandler helper = new DatabaseOpenHandler(this);
Log.d(TAG, "get writeable database access");
database = helper.getWritableDatabase();
Log.d(TAG, "create Cursor for database access");
Cursor data = database.query(DatabaseConstants.TABLE_NOTES, fields,
null, null, null, null, null);
Log.d(TAG, "set NoteCursorAdapeter");
setListAdapter(new NoteCursorAdapter(this, data));
}
onOptionItemSelected:
public boolean onOptionsItemSelected(MenuItem item) {
Log.d(TAG, "onOptionItemSelected called");
switch (item.getItemId()) {
case R.id.conference_note_menu_new:
Toast.makeText(this, "Es sind keine Einstellungen verfügbar",
Toast.LENGTH_LONG).show();
return true;
case R.id.conference_note_menu_edit:
Toast.makeText(this, "Es sind keine Einstellungen verfügbar",
Toast.LENGTH_LONG).show();
return true;
case R.id.conference_note_menu_delete:
Toast.makeText(this, "Es sind keine Einstellungen verfügbar",
Toast.LENGTH_LONG).show();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
Can't find useful information on the internet.
+3
sebbl.sche
source
to share
4 answers
onOptionItemSelected for the menu. you need to set onItemClickListener for your ListView like this:
getListView().setOnItemClickListener(this);
and implements:
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// TODO Auto-generated method stub
}
+2
Alex Klimashevsky
source
to share
Use the below line for the click listerner element :;
public void onListItemClick(ListView parent, View v, int position, long id) {
}
because
public boolean onOptionsItemSelected(MenuItem item) {
}
to select a menu item
+2
Shankar agarwal
source
to share
this works for me:
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
}
});
+1
hendrix
source
to share
Use OnLongClickListener () to populate the menu and then use your code to start an action on the selected item.
0
Shubhayu
source
to share