How to implement a menuitem click listener inside a fragment in android

血红的双手。 提交于 2019-12-10 22:56:06

问题


I have MenuItems in the ActionBar and I am using Fragments inside ViewPager. Now I would like to handle onMenuItemClickListener event inside my fragment. It works fine inside Main Activity. But not inside Fragments. And also it doesn't fetch any error.

Here is the methods that I tried. Both works fine inside Activity.

First method:

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;
}

Second Method:

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;
    }
}

Any help on how to achieve this will be appreciated.


回答1:


Solved by using onPrepareOptionsMenu method.



来源:https://stackoverflow.com/questions/12474036/how-to-implement-a-menuitem-click-listener-inside-a-fragment-in-android

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!