您的位置:首页 > 移动开发

WebView使用(一) 无法显示内容、在fragment+activity中的使用

2016-06-23 19:26 369 查看
在一个只有底部导航栏的activity中,动态切换4个fragment,在第一个fragment中我想使用一个webview加载后台的H5页面,就把WebView定义在了fragment的布局文件中,如下

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<WebView
android:id="@+id/home_web"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</FrameLayout>

activity的webview部分代码 是 

  home_web = fView(R.id.home_web);
//设置WebView属性,能够执行Javascript脚本
home_web.getSettings().setJavaScriptEnabled(true);
home_web.loadUrl(UrlManager.HomeUrl);
LogUtil.getInstance().Info("加载页面");
home_web.setWebViewClient(new HomeWebClient());
public class HomeWebClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
以下是activity切换fragment的代码
fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.showFrag, new O2OFragment());
fragmentTransaction.commit();


 然而以上代码执行过后并没有显示 ,而放在activity中却能正常显示。我采用了网友的方法:

[java] view
plain copy

getFragmentManager().beginTransaction().add(android.R.id.content,one,"qe").commit();  

原来我使用的不是android.R.id.content这个值,而是设置到自己定义的一个。这样就能显示了,但是fragment的页面覆盖了底部的导航栏;  已解决: 在activity 的布局文件中,添加一个线性布局(也有朋友说加一行空白也行),加上id,然后传参到
fragmentTransaction.replace(R.id.showFrag, new O2OFragment());

第一个参数上,这样就好了;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: