package gueei.binding.plugin.abs.menu; import gueei.binding.IObservable; import android.content.Context; import android.util.AttributeSet; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuItem; public class MenuGroupBridge extends AbsMenuBridge { @Override public void onCreateOptionItem(Menu menu) { } @Override public void onPrepareOptionItem(Menu menu) { if (mVisible!=null) menu.setGroupVisible(mId, mVisible.get()); } private IObservable<Boolean> mVisible; public MenuGroupBridge(int id, AttributeSet attributes, Context context, Object model){ this(id, attributes, context, model, null); } @SuppressWarnings("unchecked") public MenuGroupBridge(int id, AttributeSet attributes, Context context, Object model, IMenuItemChangedCallback callback) { super(id); // Assume id is created IObservable<?> temp = getObservableFromStatement(context, attributes, "visible", model, callback); if ((temp!=null)&&(Boolean.class.isAssignableFrom(temp.getType()))){ mVisible = (IObservable<Boolean>)temp; } } @SuppressWarnings("unchecked") public MenuGroupBridge(int id, MenuItemViemodel model) { super(id); if(model==null) return; // Assume id is created IObservable<?> temp = model.visible; if ((temp!=null)&&(Boolean.class.isAssignableFrom(temp.getType()))){ mVisible = (IObservable<Boolean>)temp; } } @Override public boolean onOptionsItemSelected(MenuItem item) { return false; } }