0

I used tool bar in fragment. but the menu always appear in hardware button. am also tried with view configuration "sHasPermanentMenuKey" but it still show in hardware menu. How to make the menu item to be appear in toolbar instead of hardware button? Thank you.

//fragment onCreate method

 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        try {
            ViewConfiguration config = ViewConfiguration.get(getActivity());
            Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
            if (menuKeyField != null) {
                menuKeyField.setAccessible(true);
                menuKeyField.setBoolean(config, false);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        setHasOptionsMenu(true);
    }

//fragment onCreateOtionsMenu

  @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        // TODO your code to hide item here    
        super.onCreateOptionsMenu(menu, inflater);
        menu.clear();
        inflater.inflate(R.menu.home, menu);

    }

//Activity onCreate method

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);
         try {
                ViewConfiguration config = ViewConfiguration.get(Home.this);
                Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
                if (menuKeyField != null) {
                    menuKeyField.setAccessible(true);
                    menuKeyField.setBoolean(config, false);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
}

// menu item

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/action_filter"
        android:title="@string/action_filter"
        app:showAsAction="always"
        android:icon="@drawable/ic_filter"
        />

    <item
        android:id="@+id/action_map"
        android:title="@string/action_map"
        app:showAsAction="always"
        android:icon="@drawable/ic_map"
        />

    <item
        android:id="@+id/action_search"
        android:title="@string/action_search"
        android:icon="@drawable/ic_search"
        app:actionViewClass="android.support.v7.widget.SearchView"
        app:showAsAction="collapseActionView|ifRoom"
        />

</menu>

I tried with FragmentActivity and AppCompatActivity but its not working.

Nas
  • 2,158
  • 1
  • 21
  • 38

0 Answers0