2012-05-30 2 views
0

몇 가지 이유 때문에 일부 메뉴 항목이 비활성화되어 있으며 데이터가 도착한 후에 활성화됩니다.
다음과 같은 경우를들 수 있습니다.
메뉴가 인데 현재이 표시되고 데이터가 도착하면 어떻게 즉시 메뉴 항목을 활성화 할 수 있습니까?현재 표시되고있는 옵션 메뉴 항목 업데이트하기

이제 메뉴가 다시 표시 될 때만 onPrepareOptionsMenu()에서 메뉴 항목을 활성화/비활성화합니다. 참고로, 나는 안드로이드 2.x는 SDK를 사용하고

는 변수에이 참조를 저장할 수 있도록

opPrepareOptionsMenu가 호출

답변

1

, 그것은, 메뉴에 대한 참조를 가져옵니다 감사, 데이터가 준비되면 de 옵션을 다시 추가하거나 활성화하십시오.

+0

나는이 방법을 시도했지만 메뉴 참조에 액세스 할 때 항상 NullPointerException을 반환 ... 그게 참조가 표시되지 않을 때 null을 가리킬 수 있습니까? – Bear

+0

예, 화면에 없으면 null이 될 수 있습니다 – h0m3r16

0

나는 이미이 작업을 수행하여 정상적으로 작동하고 있습니다. 이 코드를 살펴보십시오 ...

메뉴를 만들 때 각각의 메뉴 옵션에 다른 그룹을 추가하면 각 버튼을 별도로 쉽게 처리 할 수 ​​있습니다. 예 : 보류 및 재개 버튼의 예를 보여 드리겠습니다. 한 번만 버튼 하나만 작동하므로 코드는 여기에서 수행하십시오.

클래스에서 이것을 선언하십시오.

private static final int HOLD_CALL  = 0; 
private static final int RESUME_CALL = 1; 

쓰기 공개 부울의 onCreateOptionsMenu (메뉴 메뉴)에서이 코드

menu.add(0, HOLD_CALL, 0, "Hold Call"); 
menu.add(1, RESUME_CALL, 1, "Resume Call"); 

사용 (INT의 FEATUREID, 메뉴 메뉴)

menu.setGroupEnabled(1, false);` 

위의 코드를 onMenuOpened 공개 부울이 메뉴 옵션이 비활성화됩니다. 그것이 당신을 도울 것입니다 희망 만약 아직도 당신이 문제를 마주하고 있다면 내가 당신을 도우려고 ...

+0

죄송합니다. 사용자에게 메뉴가 표시 될 때 메뉴 항목을 편집 하시겠습니까? 따라서 요점은 메뉴 참조를 어떻게 저장하는 것이 좋을까요? 그것을 편집하려면 ... – Bear

+0

사용자가 메뉴 버튼을 클릭하거나 메뉴가 이미 화면에 표시되었을 때이를 원할 때. –