Change Menu dynamically[All Fum]
메뉴 내용을 변경하는 코드[올 펌]
public class YourActivity extends Activity { private Menu menu; private String inBedMenuTitle = "Set to 'In bed'"; private String outOfBedMenuTitle = "Set to 'Out of bed'"; private boolean inBed = false; @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); // Create your menu... this.menu = menu; return true; } private void updateMenuTitles() { MenuItem bedMenuItem = menu.findItem(R.id.bedSwitch); if (inBed) { bedMenuItem.setTitle(outOfBedMenuTitle); } else { bedMenuItem.setTitle(inBedMenuTitle); } } }
아래 코드는 실시간과는 거리가 있다. 참고 정도로!
"Set to 'Out of Bed'"
public void setOptionsTitle(String status) { bedStatus = status; }
@Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); menu.add(bedStatus); // Return true so that the menu gets displayed. return true; }
실행 중 변경하는 또다른 법
menu.Clear (); if (TabActual == TabSelec.Anuncio) { menu.Add(10, 11, 0, "Crear anuncio"); menu.Add(10, 12, 1, "Modificar anuncio"); menu.Add(10, 13, 2, "Eliminar anuncio"); menu.Add(10, 14, 3, "Actualizar"); } if (TabActual == TabSelec.Fotos) { menu.Add(20, 21, 0, "Subir foto"); menu.Add(20, 22, 1, "Actualizar"); } if (TabActual == TabSelec.Comentarios) { menu.Add(30, 31, 0, "Actualizar"); }
http://stackoverflow.com/questions/7066657/android-how-to-dynamically-change-menu-item-text-outside-of-onoptionsitemssele
다이나믹하게 실행 후에 메뉴 내용 변경
@Override public boolean onPrepareOptionsMenu(Menu menu) { menu.clear(); if(isChangedStat) { menu.add(0, MENUITEM, 0, "True"); } else { menu.add(0, MENUITEM, 0, "False"); } return super.onPrepareOptionsMenu(menu); }
https://thedevelopersinfo.wordpress.com/2009/10/20/dynamically-change-options-menu-items-in-android/
'Android 안드로이드' 카테고리의 다른 글
안드로이드 프로젝트에 빨간 사각형 바탕에 희색 x 표시가 뜬다. (0) | 2015.09.22 |
---|---|
대화상자 테두리 제거 대화상자 주변은 밝게 유지 (0) | 2015.02.27 |
카메라 플레시 (0) | 2015.02.20 |
SurfaceView 원이 이동, 화면 전환시 위치 저장 (0) | 2015.02.18 |
서비스에서 알림창을 먼전 띄우고 매로리 해제된 activity를 (0) | 2015.02.13 |