2

我在 ActionBar 中有 MenuItems,我在 ViewPager 中使用 Fragments。现在我想在我的片段中处理 onMenuItemClickListener 事件。它在 Main 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;
    }
}

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

4

1 回答 1

2

通过使用 onPrepareOptionsMenu 方法解决。

于 2012-09-18T10:41:17.723 回答