¿Cuál es el equivalente en PopupMenu ActionBarSherlock? Parece que no puedo encontrarlo. Su API 11, ¿por qué está ausente?PopupMenu equivalente en ActionBarSherlock
Respuesta
La Clase MenuPopupHelper prácticamente hace el trabajo. No he encontrado una manera fácil de escuchar clics artículo sin embargo, por lo que he implementado esta clase que deriva de MenuPopupHelper:
public class MenuPopup extends MenuPopupHelper {
OnMenuItemClickListener onMenuItemClickListener;
public MenuPopup(Context context, MenuBuilder menu, View anchorView) {
super(context, menu, anchorView);
}
public void setOnMenuItemClickListener(
OnMenuItemClickListener onMenuItemClickListener) {
this.onMenuItemClickListener = onMenuItemClickListener;
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
super.onItemClick(parent, view, position, id);
if (onMenuItemClickListener != null)
onMenuItemClickListener.onMenuItemClick(position);
}
public interface OnMenuItemClickListener{
public void onMenuItemClick(int itemID);
}
}
Esta solución no es perfecta ya que el objeto de vista anchorView debe implementar la interfaz View_OnAttachStateChangeListener requerida por AcctionBarSherlock. –
Es bastante fácil hacer que 'View' implemente la interfaz' View_HasStateListenerSupport'. Puede encontrar un ejemplo de aplicación aquí: https://github.com/JakeWharton/ActionBarSherlock/blob/master/actionbarsherlock/src/com/actionbarsherlock/internal/view/menu/ActionMenuItemView.java –
no puedo hacer este trabajo:/ – Javier
estoy trabajando en este momento. Hice lo que fue sugerido por CommonsWare acerca de portarlo. Básicamente tomé el código fuente de PopupMenu.java y reemplacé las importaciones del paquete con los equivalentes de la barra de acciones de acción. Parece funcionar bien en los dispositivos Gingerbread y ics que probé. La captura es sin embargo en actionbarsherlocks clase MenuPopupHelper que tenía que comentar las líneas que hacen referencia a View_HasStateListenerSupport como:
((View_HasStateListenerSupport)anchor).addOnAttachStateChangeListener(this);
por alguna razón. Si no lo hacía me gustaría obtener una ClassCastException:
E/Android Runtime (9197): excepción fatal: principal E/Android Runtime (9197): java.lang.ClassCastException: android.widget.Button no pueden ser echados para com.actionbarsherlock.internal.view.View_HasStateListenerSupport E/AndroidRuntime (9197): en com.actionbarsherlock.internal.view.menu.MenuPopupHelper.tryShow (MenuPopupHelper.java:121) E/AndroidRuntime (9197): en com. actionbarsherlock.internal.view.menu.MenuPopupHelper.show (MenuPopupHelper.java:102)
estoy seguro si comentando ese oyente podría causar pr Oblems para otras clases que utilizan MenuPopupHelper o por qué están causando esta excepción (tal vez un error). Pero pensé que compartiría lo que probé, por lo que puede ayudar a cualquiera que investigue esto.
Agregado PopupMenu
en ActionBarSherlock.
Styling del PopupMenu
- yo sepa
<item name="popupMenuStyle">@style/PopupMenu.MyAppTheme</item>
<style name="PopupMenu.MyAppTheme" parent="@style/Widget.Sherlock.ListPopupWindow">
<item name="android:popupBackground">@android:color/white</item>
</style>
- 1. PopupMenu en Android 2.1 API 7
- 2. Uso ShareActionProvider en PopupMenu, pero muestro dos PopupMenu?
- 3. Estilo PopupMenu Android
- 4. ActionSherlockBar Styling - PopupMenu
- 5. ¿Cómo se estilo PopupMenu?
- 6. Alternativa adecuada para PopupMenu para pre-Honeycomb
- 7. ActionBarSherlock + Maps + Loaders = java.lang.NoClassDefFoundError
- 8. ActionBarSherlock: java.lang.NoClassDefFoundError: com.actionbarsherlock.R $ styleable
- 9. cómo configurar ActionBarSherlock?
- 10. Android ActionbarSherlock SearchView
- 11. Android ActionBarSherlock Top Bar
- 12. ActionBarSherlock & HoloEverywhere - Forcing Overflow?
- 13. Personalizar ActionBar TabBar (ActionBarSherlock)
- 14. ofuscar ActionBarSherlock con Proguard
- 15. ActionBarSherlock getMenuInflater issues
- 16. Android: Uso de PopupMenu en el nivel de API 9
- 17. Retorno popupmenu selección en MATLAB utilizando una línea de código
- 18. Edificio ActionMode con diseño personalizado en ActionBarSherlock
- 19. Problemas implementando pestañas en ActionBarSherlock 4
- 20. Inflar el menú ActionBarSherlock definido en XML
- 21. Obtener ActionBarSherlock actionBarSize en Android 2.x
- 22. Android: widget de búsqueda ActionBarSherlock
- 23. ActionBarSherlock android.R.id.home <API 11
- 24. Consulte ActionBarSherlock de una biblioteca
- 25. ActionBarSherlock ¿Cambia el color del botón Atrás?
- 26. Establecer la gravedad del título en el centro en ActionBarSherlock
- 27. ¿Cómo distinguir dos clics en elementos de menú en ActionBarSherlock?
- 28. Android: El uso de la biblioteca ActionBarSherlock
- 29. Ajuste ActionBarSherlock Tema para aplicación Android
- 30. No coincide la jar al importar ActionBarSherlock
, 'PopupMenu' no se requiere para una barra de acción. ActionBarSherlock no es un respaldo de * todo *. – CommonsWare
También, ver al menos una (no de propósito general) [backport de 'PopupMenu'] (http://code.google.com/p/openintents/source/browse/trunk/shoppinglist/ShoppingList/src/org /openintents/shopping/ui/widget/backport/PopupMenu.java?r=3810) en la primera página de una búsqueda en Google de 'android popupmenu backport', por lo que puede considerar simplemente tomar la fuente AOSP e intentar respaldarla usted mismo. – CommonsWare