編輯:Android開發教程
嵌套的二級Fragment無法接收onCreateOptionsMenu事件的問題,設置了setHasOptionsMenu也不管用。
補充說明:
如果通過緩存Fragment手動調用二級Fragment,可能會出現莫名其妙的問題,比如更多Menu不顯示。
解決辦法:
在一級Fragment中添加Menu,可以在一級onOptionsItemSelected中手動調用二級的此方法來處理相關事件。
示例代碼:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
switch (getSelectedPosition()) {
case 1:
inflater.inflate(R.menu.menu1, menu);
break;
case 2:
inflater.inflate(R.menu.menu2, menu);
break;
case 0:
default:
inflater.inflate(R.menu.menu3, menu);
break;
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Fragment fragment = getFragmentByPosition(getSelectedPosition());
if (fragment != null)
fragment.onOptionsItemSelected(item);
return super.onOptionsItemSelected(item);
}
代碼說明:
示例代碼是一級Fragment,getFragmentByPosition返回的是二級Fragment。
作者:cnblogs 農民伯伯
 
Android多線程研究(6)多線程之間數據隔離
在上一篇《Android多線程研究(5)——線程之間共享數據》中對線程之間的數據共享進行了學習和研究,這一篇我們來看看如何解決多個線程之間的數據隔
Android RoboGuice使用指南(5) Binding Annotations
有些情況需要將同一類型映射到不同的類實現,還是使用繪圖的例 子.IShape, Rectangle, MyRectangle, MySquare,有如下繼承關系:我們可能
如何在Nexus上實現Ubuntu和Android 4.4.2 雙啟動
現在在電話上測試Ubuntu變得更加簡單,可以從Canonical上下載一個程序,它可以安裝新的操作系統而不必刪除原有的Andorid。能夠雙啟動的系統可以吸引更多的用戶
巧用Android網絡通信技術在網絡上直接傳輸對象
要做一個優秀的Android應用,使用到網絡通信技術是必不可少的,很難想象一款沒有網絡交互的軟件最 終能發展得多成功。那麼我們來看一下,一般Android應用程序裡都是怎