我想爲我的所有活動只有一個菜單。我不想在我的所有活動中重複我的菜單代碼(下面)。不要重複菜單代碼
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.referent, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.action_settings:
System.out.println("set");
return true;
case R.id.action_alert:
System.out.println("alert");
return true;
default:
return super.onOptionsItemSelected(item);
}
}
我讀了一些主題,但我發現只有一個解決方案女巫是擴展宣佈菜單的父類。我不能使用這個解決方案,因爲我所有的活動都沒有擴展Activity,我也有FragmentActivity
和ListActivity
。
是否有解決方案在每個活動上都有相同的菜單,在每個活動上編寫最少的代碼?
看看這個 - http://stackoverflow.com/questions/ 8727622/general-constant-menu-in-the-application – Shade
謝謝,但在你的鏈接中他們使用的是擴展或片段,我不想爲了兼容性的原因使用片段。 – Ajouve
組合而不是繼承?只需將'item'和其他需要的參數傳遞給具有共同邏輯的另一個對象中的方法。 – whyleee