getSupportFragmentManager要用在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

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】