메뉴에서 일부 다른 활동을 실행하는 샘플 Android 활동을 확장하면서 onOptionsItemSelected
내에서 처리 된 일부 메뉴 항목을 가져오고 일부 메뉴 항목 (방금 실행 된 인 텐트)이 처리되었습니다 setIntent
을 onCreateOptionsMenu
에 전화하여menuItem.setIntent with onOptionsItemSelected가 작동하지 않습니다.
기본적으로 같은 :
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
super.onCreateOptionsMenu(menu);
menu.add(0, MENU_ID_1, Menu.NONE, R.string.menu_text_1);
menu.add(0, MENU_ID_2, Menu.NONE, R.string.menu_text_2);
menu.add(0, MENU_ID_3, Menu.NONE, R.string.menu_text_3).
setIntent(new Intent(this, MyActivity_3.class));
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
super.onOptionsItemSelected(item);
switch (item.getItemId())
{
case (MENU_ID_1):
// Process menu command 1 ...
return true;
case (MENU_ID_2):
// Process menu command 2 ...
// E.g. also fire Intent for MyActivity_2
return true;
default:
return false;
}
}
분명히,이 상황에서 MENU_ID_3에 텐트 세트가 발사되지 않습니다, 또는 어쨌든 관련 활동이 시작되지 않습니다.
는 어떤 점에서안드로이드의 javadoc 같은 간다 < < [당신이 메뉴 항목에 대한 의도를 설정 한 경우] 하고 다른 아무것도 항목, 다음 기본 동작하는 것을 처리 [의도로 활동을 시작] >> .
"실제로 다른 항목을 처리하지 못합니다"는 것은 무엇을 의미합니까? onOptionsItemSelected
에서 거짓을 반환하는 것으로 충분합니까? 또한 시작 부분에 super.onOptionsItemSelected(item)
을 호출하지 않고 기본 스위치 경우에만 호출하려고 시도했지만 동일한 결과가있었습니다.
누구에게 의견이 있습니까? Android에서 두 가지 유형의 처리를 혼합 할 수 있습니까?
모두에게 감사드립니다.