0
Soweit ich wusste, kann das Kontextmenü für jede Ansicht nicht nur für ListView registriert werden. Heute versuche ich das Kontextmenü für ein benutzerdefiniertes ImageView zu registrieren. Wie folgt:Android-Kontextmenü für jede Ansicht
// In onCreateView() method of activity
registerForContextMenu(mViewHolder.profileImageView);
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
switch (v.getId()) {
case R.id.profile_imageview:
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo;
menu.add(Menu.NONE, CONTEXT_MENU_ITEM_CHANGE_PICTURE, 0, "Change Picture");
}
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();
switch (item.getItemId()) {
case CONTEXT_MENU_ITEM_CHANGE_PICTURE:
//Toast.makeText(mParentActivity, "Delete " + info.position + "th item", Toast.LENGTH_LONG).show()
Toast.makeText(this, "Go to library", Toast.LENGTH_SHORT).show();
return true;
default:
return true;
}
}
Ich habe kein Beispiel für die Registrierung von Kontextmenü ohne ListView gefunden. Würde mir jemand ein Beispiel geben oder herausfinden, was ich vermisse?