반응형
written by http://gwpark.tistory.com/1993
[ \res\menu\menu_one.xml ]
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/menu_one" android:title="menu_one" android:showAsAction="always" /> </menu>
[ \res\menu\menu_two.xml ]
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/menu_two" android:title="menu_two" android:showAsAction="always" /> </menu>
[ FragmentOne.java ]
public class FragmentOne extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreate(savedInstanceState); // if this is set true, // Activity.onCreateOptionsMenu will call Fragment.onCreateOptionsMenu // Activity.onOptionsItemSelected will call Fragment.onOptionsItemSelected setHasOptionsMenu(true); return null; } @Override public void onResume() { super.onResume(); // destroy all menu and re-call onCreateOptionsMenu getActivity().invalidateOptionsMenu(); } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); inflater.inflate(R.menu.menu_one, menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()) { case R.id.menu_one : String message = "menu_one is selected"; Toast.makeText(getActivity(), message, Toast.LENGTH_SHORT).show(); break; } return super.onOptionsItemSelected(item); } }
[ FragmentTwo.java ]
public class FragmentTwo extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreate(savedInstanceState); // if this is set true, // Activity.onCreateOptionsMenu will call Fragment.onCreateOptionsMenu // Activity.onOptionsItemSelected will call Fragment.onOptionsItemSelected setHasOptionsMenu(true); return null; } @Override public void onResume() { super.onResume(); // destroy all menu and re-call onCreateOptionsMenu getActivity().invalidateOptionsMenu(); } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); inflater.inflate(R.menu.menu_two, menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()) { case R.id.menu_two : String message = "menu_two is selected"; Toast.makeText(getActivity(), message, Toast.LENGTH_SHORT).show(); break; } return super.onOptionsItemSelected(item); } }
[ ActivityMain.java ]
public class ActivityMain extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ManagerNavTabs mnt = ManagerNavTabs.getInstance(this); mnt.addTab(R.string.fragment_one, FragmentOne.class); mnt.addTab(R.string.fragment_two, FragmentTwo.class); } }
출처: http://gwpark.tistory.com/1993 [굉장히 사사로운 블로그]
반응형
'모바일개발(Mobile Dev) > 안드로이드개발(Android)' 카테고리의 다른 글
when using imageView in camera (0) | 2017.07.08 |
---|---|
how to deal activity value interaction (0) | 2017.07.08 |
how to stop a back button in android (0) | 2017.04.14 |
how to make a swiped multi tabed view in android (0) | 2017.04.14 |
how to use listview with onItemClick Event (0) | 2016.11.13 |