2017-07-13 22 views
1

這兩種方法中的哪一種是正確的方法來覆蓋onCreateOptionsMenu,爲什麼?應該#onCreateOptionsMenu直接返回一個布爾值或者調用它的父類

與此類似,返回一個布爾直接

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.my_menu, menu); 
    return true; 
} 

或者這樣,從父方法

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.my_menu, menu); 
    return super.onCreateOptionsMenu(menu); 
} 
+0

check [this](https://stackoverflow.com/questions/10303898/oncreateoptionsmenu-calling-super) – anatoli

+0

Android中的布爾方法旨在爲您提供流量控制。如果返回true,則意味着事件正在處理,如果返回false,則事件不處理。如果事件不處理,則其他事件將被執行。以longClickListener爲例,如果返回false clickListener將被執行。 – cutiko

+2

[onCreateOptionsMenu()調用超級可能的重複](https://stackoverflow.com/questions/10303898/oncreateoptionsmenu-calling-super) –

回答

0

返回一個布爾如果手動充氣菜單使用Inflater.inflate(),這是好的:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.my_menu, menu); 
    return true; 
} 
相關問題