程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> getSupportFragmentManager要用在FragmentActivity及其子類中,fragmentactivity

getSupportFragmentManager要用在FragmentActivity及其子類中,fragmentactivity

編輯:JAVA綜合教程

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;

 

@Override
public 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 接口

 

@Override
public 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

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved