getSupportFragmentManager要用在FragmentActivity及其子類中,fragmentactivity
getSupportFragmentManager要用在FragmentActivity及其子類中!!
關於安卓抽屜導航!!
* 自訂側邊欄
建立一個Fragment:CarlozLibFragment.java,並為其建立一個布局carloz_lib_webview.xml,內部有一個WebView控制項,順便在AndroidManifest.xml中添加Intent存取權限;在CarlozLibFragment中重寫onCreateView方法,讓WebView訪問我的個人網站(http://carloz.duapp.com);
public class CarlozLibFragment extends Fragment { private String TAG = "CARLOZ"; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub View root = inflater.inflate(R.layout.carloz_lib_webview, container, false); WebView wv =(WebView)root.findViewById(R.id.wv); Log.d(TAG, "load url: carloz lib"); wv.loadUrl("http://carloz.duapp.com"); return root; }}
將NavigationDrawerFragment.java 中 onCreateView中ListView相關內容刪除,用自訂布局 diy_slider_content.xml (目錄res/layout)替換;diy_slider_content中定義了一個按鈕,用來開啟剛剛建立的CarlozLibFragment;
@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View root = inflater.inflate(R.layout.diy_slider_content, container, false); root.findViewById(R.id.btnJump).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (mDrawerLayout != null) { // 隱藏側邊欄 mDrawerLayout.closeDrawer(mFragmentContainerView); } if(mCallbacks != null) { mCallbacks.onGotoCarlozLibClicked(); } } }); return root;}
onGotoCarlozLibClicked()這個介面是自訂介面,在 靜態介面 NavigationDrawerCallbacks 中新增定義
public static interface NavigationDrawerCallbacks { /** * Called when an item in the navigation drawer is selected. */ void onNavigationDrawerItemSelected(int position); // 通過回調傳給主介面 void onGotoCarlozLibClicked();}
需要在主介面SliderActivity中實現該回調方法, 因為主介面實現了 NavigationDrawerFragment.NavigationDrawerCallbacks 介面
@Overridepublic void onGotoCarlozLibClicked() { // 需要實現 NavigationDrawerFragment.java Callback中新增的方法 // 在容器 container 中添加 fragment CarlozLibFragment getSupportFragmentManager().beginTransaction() .replace(R.id.container, new CarlozLibFragment()) .commit();}
運行結果如下:
這裡引用:http://www.cnblogs.com/carlo/p/4726719.html