는 좀 안드로이드 응용 프로그램을 개발하고있어, 나는 메뉴에 대한 몇 가지 코드를 가지고 :프로그래밍 방식으로 메뉴에서 MenuItems를 제거하는 방법?
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:showAsAction="ifRoom"
android:id="@+id/menuItemToLeft"
android:icon="@drawable/to_left" />
<item
android:showAsAction="ifRoom"
android:id="@+id/menuItemToRight"
android:icon="@drawable/to_right"/>
</menu>
내가 작업 표시 줄에서이 항목을 표시하기 위해 "showAsAction"를 사용합니다. 또한 탐색을 위해 3 개의 탭이 있습니다. 그러나 다음과 같은 작업이 있습니다. 위치가 0 인 탭을 선택하면 작업 표시 줄에서이 항목을 제거 (또는 표시를 false로 설정)합니다. 그러나 나는 내가 할 수있는 방법을 이해하지 않습니다
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
mViewPager.setCurrentItem(tab.getPosition());
if (tab.getPosition()==0) {
//some code
}
}
onPrepareOptionsMenu는 탭이 변경 될 때마다가 아니라 한 번만 호출됩니다. – malcoauri
맞습니다.하지만 "onPrepareOptionsMenu"를 다시 실행하려면 사용자가 "invalidateOptionsMenu"를 호출해야합니다. – malcoauri
@Stephen Walker 답변에 malcoari의 포인트를 추가하면 독자에게 친숙해질 것입니다. –