【问题标题】:How do you set a Menu item listener (onMenuItemSelected) in a FragmentPagerAdapter?如何在 FragmentPagerAdapter 中设置菜单项侦听器 (onMenuItemSelected)?
【发布时间】:2014-09-02 20:19:57
【问题描述】:

我试图让 FragmentPagerAdapter 中的 Fragment 有自己的用于 MenuItem 的 onclicklistener。

换句话说,我正在尝试在 Fragment 中使用 Activity 的 onOptionsItemSelected 方法

我该怎么做?

我尝试使用 onContextItemSelected(MenuItem theItem) 和 onOptionsItemSelected(MenuItem theItem) 无济于事

【问题讨论】:

    标签: android android-fragments fragment fragmentpageradapter


    【解决方案1】:
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        …
        setHasOptionsMenu(true);
        …
    }
    
    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        menu.clear();
        inflater.inflate(R.menu.your_menu, menu);
    }
    
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case R.id.your_key_id:
            saveRoute();
            break;
        default:
            break;
        }
        return false;
    }
    

    如果您需要一个菜单​​用于所有页面,请使用此菜单。

    编辑: 如果您需要特定页面上的特定菜单,请参阅:Android: Showing Action Bar menu items depending on ViewPager

    【讨论】:

    • 是的!谢谢!我需要 'setHasOptionsMenu(true)' 行
    猜你喜欢
    • 2013-07-19
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-20
    • 1970-01-01
    相关资源
    最近更新 更多