如何在android中的片段内实现menuitem click监听器

时间:2012-09-18 09:23:24

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

我在ActionBar中有MenuItems,我在ViewPager中使用Fragments。现在我想在片段中处理onMenuItemClickListener事件。它在主要活动中正常工作。但不是在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;
    }
}

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

1 个答案:

答案 0 :(得分:2)

使用onPrepareOptionsMenu方法解决。