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"