編輯: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多線程研究(5)——線程之間共享數據》中對線程之間的數據共享進行了學習和研究,這一篇我們來看看如何解決多個線程之間的數據隔
有些情況需要將同一類型映射到不同的類實現,還是使用繪圖的例 子.IShape, Rectangle, MyRectangle, MySquare,有如下繼承關系:我們可能
現在在電話上測試Ubuntu變得更加簡單,可以從Canonical上下載一個程序,它可以安裝新的操作系統而不必刪除原有的Andorid。能夠雙啟動的系統可以吸引更多的用戶
要做一個優秀的Android應用,使用到網絡通信技術是必不可少的,很難想象一款沒有網絡交互的軟件最 終能發展得多成功。那麼我們來看一下,一般Android應用程序裡都是怎