package com.sunlightlabs.android.congress.utils;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.PopupMenu;
public class PopupMenuWrapper {
private PopupMenu menu;
interface OnMenuItemClickListener {
public boolean onMenuItemClick(MenuItem item);
}
PopupMenuWrapper(Activity activity, View view) {
menu = new PopupMenu(activity, view);
}
public void setOnMenuItemClickListener(final PopupMenuWrapper.OnMenuItemClickListener listener) {
menu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
listener.onMenuItemClick(item);
return false;
}
});
}
public void inflate(int menuId) {
// done without using the PopupMenu.inflate() method, which isn't available on Honeycomb.
// this method works on both Honeycomb and Ice Cream Sandwich.
MenuInflater inflater = menu.getMenuInflater();
Menu baseMenu = menu.getMenu();
inflater.inflate(menuId, baseMenu);
}
public void show() {
menu.show();
}
static {
try {
Class.forName("android.widget.PopupMenu");
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
public static void checkAvailable() {}
}