내 앱에서 onCreatePanelMenu
을 사용하여 음성 인식 메뉴를 부 풀립니다. 내가 간단한 메뉴를 부 풀릴 때 잘 동작하지만, 내가하고 싶은 것은 프로그램의 순간에 따라 다른 메뉴를 부 풀리는 것이다.Google Glass 음성 메뉴 업데이트
onCreateOptionsMenu
및 invalidateOptionsMenu()
을 사용하면 제스처 메뉴에 문제가 없으며 음성 메뉴에도 동일하게 적용하십시오.
내가 작품을 만들기 위해 노력하고있어 코드는 다음과 같습니다
@Override
public boolean onCreatePanelMenu(int featureId, Menu menu) { // Voice creation menu...
if (featureId == WindowUtils.FEATURE_VOICE_COMMANDS) {
if(conStateMenu){
getMenuInflater().inflate(R.menu.voice_aftcon_menu, menu);
}else{
getMenuInflater().inflate(R.menu.voice_befcon_menu, menu);
}
return true;
}
return super.onCreatePanelMenu(featureId, menu); // Pass through to super to setup touch menu.
}
경우 실행 중에 어떤 다른 지점에서 conStateMenu
변경됩니다. 다시 말하지만, 제스처 메뉴를 사용하면 문제가 없지만, voide 메뉴를 사용하면 효과가 있습니다 (무효화 및 새 메뉴로드).
감사합니다.
'invalidateOptionsMenu'는'onCreateOptionsMenu'가 아니라'onPrepareOptionsMenu'를 호출합니다. –
그래, 나도 봤어.하지만 안드로이드 [api] (http://developer.android.com/reference/android/app/Activity.html)에 가면 "onCreateOptionsMenu (Menu) 메서드는 다음에 표시해야 할 때 호출해야합니다. " 'invalidateOptionsMenu()'라는 데스 니스에서, 실제로 잘 작동하고 있습니다. – gkapellmann
그리고이 함수에 같은 로그인을'onPrepareOptionsMenu'에 추가하려고 했습니까? –