android - 如何在android中的fragment中实现menuitem点击监听器

标签 android android-fragments android-actionbar android-menu android-fragmentactivity

我在 ActionBar 中有 MenuItem,并且在 ViewPager 中使用 Fragments。现在我想在我的 fragment 中处理 onMenuItemClickListener 事件。它在主 Activity 中运行良好。但不在 Fragments 内。而且它也不会获取任何错误。

这是我尝试过的方法。两者在 Activity 中都可以正常工作。

第一种方法:

public boolean onCreateOptionsMenu(Menu menu) {
    MenuItem item = menu.findItem(R.id.grid_view);
    item.setOnMenuItemClickListener(new OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
           Log.v("test","dfsfdsfasd");
            return true;
        }
    });
    return true;
}

第二种方法:

public boolean onOptionsItemSelected(MenuItem item)
{
    switch(item.getItemId())
    {
    case R.id.grid_view:
    {
        Log.v("Log:","grid_view item pressed");
        return true;
    }

    case R.id.list_view:
    {
        Log.v("Log:","list_view item pressed");
        return true;
    }
    default:
        return true;
    }
}

任何有关如何实现这一目标的帮助将不胜感激。

最佳答案

通过使用onPrepareOptionsMenu方法解决。

关于android - 如何在android中的fragment中实现menuitem点击监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12474036/

相关文章:

android - 如何区分普通搜索和全局搜索

android - Eclipse ADT 意外异常 'Cannot run program'

android - 在同一 Activity 中按下后退键,将一个 viewpager 的 fragment 替换为另一个 viewpager 的 fragment

android - 实现支持库操作栏时出错

android - 如何在工具栏图标上实现点击事件?

android - 如何将工具栏添加到android中的 fragment ?

java - JUnit - 格式化字符串比较失败

安卓工作室 : Instant run equires that the platform corresponding to your target device (Android UNOFFICIAL Preview) is installed

android - Textview 在第一次点击时为空,但在第二次点击时更新

android - Android中嵌套 fragment 之间的通信