你的位置:首页 > Java教程

[Java教程]getSupportFragmentManager要用在FragmentActivity及其子类中


getSupportFragmentManager要用在FragmentActivity及其子类中!!

 

关于安卓抽屉导航!!

 * 自定义侧边栏

 

 

 

 

 

      创建一个Fragment:CarlozLibFragment.java,并为其创建一个布局carloz_lib_webview.

 

复制代码
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.

 

复制代码
@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