2010-12-27 7 views
1

나의 검은 딸기 응용에서는, 나는 makeMenu()에서 자신이 창조 한 몇몇 메뉴 품목을 가진 스크린이있다. 이 화면에서이 메뉴 항목 중 2 개를 제거해야하는 경우가 있습니다. 하지만 menu.deleteItem() 메서드가 작동하지 않습니다.검은 딸기에 메뉴 항목을 제거하십시오

어떻게 화면의 새 인스턴스를 다시 만들지 않고 응용 프로그램 메뉴에서 메뉴 항목을 제거 할 수 있습니까? 이미 구성된 메뉴가 진짜인가요? 또는 mb 메뉴/화면 어딘가에 새로 고침해야합니까?

고맙습니다.

답변

3

메뉴는이 정적 아니다 아무것도에 조건을 설정 내가하는 모든 일이되어 선택되어 시점에서 그려지는, 예를 들어 아래 :

protected void makeMenu(Menu menu, int instance) { 
    menu.add(staticMenuItem); 
    if (condition) menu.add(dynamicMenuItem); 
} 
+0

하면 이후에있어 또는에 보이는 메뉴를 필요로 할 것입니다 사용자가 시청하는 동안 항목이 나타나고 사라지는가? –

+0

하지만 화면에 이미 메뉴 항목 세트가 표시되고 상태가 변경되면 어떻게해야합니까? 화면 재시험없이 메뉴에서 메뉴 항목을 제거하려면 어떻게합니까? –

+0

아, 정말 사람들이 물품이 사라지는 것을 목격해야합니다. menu.deleteItem은 그 목적에 적합하지 않습니다. 당신이 할 수있는 일은 keyDown을 오버라이드 시켜서 메뉴 버튼을 누르면 앱이 사용자 정의 필드를로드하도록 할 수 있습니다. 그렇다면 당신은 훨씬 더 많은 통제력을 가질 것입니다. 또는 사례가 makemenu의 조건을 사용할 정도로 희귀 한 경우 선택한 메뉴가 작동하지 않는 이유를 설명하는 대화 상자를 표시 할 수 있습니다. "죄송합니다.이 항목은 오프라인에서 사용할 수 없습니다." –

관련 문제