Skip to content Skip to sidebar Skip to footer

Different Menu For Different Tabs In Tab+swipe Application For Android Project

I am a beginner to android applications and java, basically I am a PHP developer. I've a project for a tab+swipe application, Reseller.java package com.idevoc.onsitereseller; impo

Solution 1:

create a menu xml file for menu_a.xml and menu_b.xml in the res/menu folder.

<menuxmlns:android="http://schemas.android.com/apk/res/android"><itemandroid:id="@+id/menu_item_search"android:icon="@drawable/ic_action_search"android:title="@string/description_search"android:orderInCategory="1"android:showAsAction="ifRoom" /><itemandroid:id="@+id/menu_item_share"android:icon="@drawable/ic_action_share"android:title="@string/description_share"android:orderInCategory="1"android:showAsAction="ifRoom" /></menu>

To create a option menu for the current Fragment displayed, add setHasOptionsMenu(true); to the Fragment onCreate() method.

@OverridepublicvoidonCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setHasOptionsMenu(true);

}

Then you must inflate the corresponding option menu (menu_a.xml or menu_b.xml) by override the onCreateOptionsMenu() method.

@OverridepublicvoidonCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.menu_a, menu);
    super.onCreateOptionsMenu(menu, inflater);
}

For handling menu selections override the onOptionsItemSelected()

@OverridepublicbooleanonOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) {
        case R.id.menu_item_search:                
              //do somethingreturntrue;

        case R.id.menu_item_share:
              //do somethingreturntrue;
    }
    returnsuper.onOptionsItemSelected(item);
} 

see Creating an Options Menu: http://developer.android.com/guide/topics/ui/menus.html for more details.

Solution 2:

Yes, I got the output with these codes ,

In TabOne.java and TabTwo.java I've added

setHasOptionsMenu(true);

In onCreateView() function and after that menu function with different menu,removed menu function from main class.

@OverridepublicViewonCreateView(LayoutInflater inflater, ViewGroup container,
                    Bundle savedInstanceState)
    {
            View view = inflater.inflate(R.layout.tab_a, container, false);
            setHasOptionsMenu(true);
            return view;
    }
    @OverridepublicvoidonCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        // TODO Auto-generated method stub//super.onCreateOptionsMenu(menu, inflater);
         inflater.inflate(R.menu.menu_b, menu);
    }

Post a Comment for "Different Menu For Different Tabs In Tab+swipe Application For Android Project"