0

我有两个不同的菜单项(翻转和共享),它们共享一个活动。它们中的每一个都可以完美而流畅地工作,但是当我将它们放在一起时,翻转动作需要很长时间才能响应。我能做些什么?谢谢你的帮助。

翻转动作:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    // Add either a "photo" or "finish" button to the action bar, depending on which page
    // is currently selected.
   MenuItem item = menu.add(Menu.NONE, R.id.action_flip, Menu.NONE,
           mShowingBack
                   ? R.string.action_photo
                   : R.string.action_info);

   item.setIcon(mShowingBack
           ? R.drawable.ic_action_photo
         : R.drawable.ic_action_info);
   item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);

    return true;
}

分享行动

public boolean onPrepareOptionsMenu(Menu menu) {

    getMenuInflater().inflate(R.menu.share_menu, menu);
    MenuItem item = menu.findItem(R.id.menu_item_share);
    mShareActionProvider = (ShareActionProvider) item.getActionProvider();
    mShareActionProvider.setShareIntent(getDefaultShareIntent());
    return super.onPrepareOptionsMenu(menu);
}
4

1 回答 1

0

我把这个问题留了下来,我忘记了。不过,我又看了一遍,记得我是怎么解决的。我做错了。在这样的事情之前,我必须调用 super.onPrepareOptionsMenu(menu) :

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    super.onPrepareOptionsMenu(menu);
    getMenuInflater().inflate(R.menu.share_menu, menu);
    MenuItem item = menu.findItem(R.id.menu_item_share);
    mShareActionProvider = (ShareActionProvider) item.getActionProvider();
    mShareActionProvider.setShareIntent(getDefaultShareIntent());

    return true;
}
于 2013-08-02T00:53:54.103 回答