WebView使用(一) 无法显示内容、在fragment+activity中的使用
2016-06-23 19:26
423 查看
在一个只有底部导航栏的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());
然而以上代码执行过后并没有显示 ,而放在activity中却能正常显示。我采用了网友的方法:
[java] view
plain copy
getFragmentManager().beginTransaction().add(android.R.id.content,one,"qe").commit();
原来我使用的不是android.R.id.content这个值,而是设置到自己定义的一个。这样就能显示了,但是fragment的页面覆盖了底部的导航栏; 已解决: 在activity 的布局文件中,添加一个线性布局(也有朋友说加一行空白也行),加上id,然后传参到
第一个参数上,这样就好了;
<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());的
第一个参数上,这样就好了;
相关文章推荐
- Android进阶之自定义注解
- 在Android Studio下执行高德搜索你“1008 ”?
- Swift编程思想 Part 1:拯救小马
- Unity3d制作一个简单的打开保存对话框-按钮2
- Swift学习---基础一
- Xcode自动断点在[recorder prepareToRecord]
- 解决解析数据网页上只有一个数字,(文本类型)
- 关于Android studio 获取versionCode的问题
- Android的SQLite使用介绍
- 理解 Objective-C Runtime
- Android 富文本编辑器 图文混排
- Android 中 native与Html中Js 交互
- 【Android应用开发】 Universal Image Loader ( 使用简介 | 示例代码解析 )
- 【Android应用开发】 Universal Image Loader ( 使用简介 | 示例代码解析 )
- ios 从AppController 传 agent_logic
- Android Studio如何设置代码自动提示
- Android从网页的源码中特定标签中取值
- 百度鹰眼Android SDK 运行配置
- Scroll 滚动 《Android 群英传》笔记
- Android自助餐之RxJava手册