关于Fragement 的onCreateView()方法里面加载webview问题

Aln_ 2017-11-08 03:15:36
问题是这样的:首先判断网络环境 ,有网络加载webview ,没网络页面提示没网络了并点击刷新,那点击刷新后还需要判断网络。有的话加载webview ,没的话还是提示没网络让点击刷新 ,感觉这就是无限循环啊 ,上点代码,在描述具体问题:
//判断网络状态

在fragement 的onCreateView 方法里面
if (MainActivity.isNetworkConnected(getActivity())){
//有网络 正常加载webview
img_nonetwork.setVisibility(View.GONE);
nonet_text.setVisibility(View.GONE);
webview_shouye.loadUrl(AppConstants.url_shouye);
webview_shouye.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
view.loadUrl(url);
//返回值为true的时候是使用webview加载网页的,
//默认为false是使用第三框架或者系统浏览器打开的
return false;
}
});
}else{
//没网络 提示没网络 并可以双击重新尝试连接
webview_shouye.setVisibility(View.GONE);
img_nonetwork.setVisibility(View.VISIBLE);
nonet_text.setVisibility(View.VISIBLE);
img_nonetwork.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 点击尝试重新加载的方法

}
});

}

尝试重新加载 里面的方法该怎么写会好点? 各位给点意见啊
...全文
372 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Aln_ 2017-11-09
  • 打赏
  • 举报
回复
引用 5 楼 YaphetS_Jo 的回复:
[quote=引用 4 楼 yang1159 的回复:] [quote=引用 3 楼 YaphetS_Jo 的回复:] 你把判断网络环境和之后的操作单独写一个方法,然后在onCreateView 和按钮点击事件里分别调用一次就好了
一些view的初始化都是在onCreateView 方法里做的 单独写外面 用不了了 [/quote] view的初始化不做改动,变量不要声明在onCreateView 就可以了,然后把img_nonetwork按钮监听移到网络判断外面,方法里就放网络判断的操作 if (MainActivity.isNetworkConnected(getActivity())){ //有网络 正常加载webview img_nonetwork.setVisibility(View.GONE); nonet_text.setVisibility(View.GONE); webview_shouye.loadUrl(AppConstants.url_shouye); }else{ //没网络 提示没网络 并可以双击重新尝试连接 webview_shouye.setVisibility(View.GONE); img_nonetwork.setVisibility(View.VISIBLE); nonet_text.setVisibility(View.VISIBLE); });[/quote] 谢谢你 大侠做webview 开发有没遇到这样问题 fragement 导航 加载多个webview 关于登录的问题 一个webview里面实现了登录 ,其他怎么也能 显示 登录啊 http://bbs.csdn.net/topics/392284861
YaphetS_Jo 2017-11-09
  • 打赏
  • 举报
回复
引用 4 楼 yang1159 的回复:
[quote=引用 3 楼 YaphetS_Jo 的回复:] 你把判断网络环境和之后的操作单独写一个方法,然后在onCreateView 和按钮点击事件里分别调用一次就好了
一些view的初始化都是在onCreateView 方法里做的 单独写外面 用不了了 [/quote] view的初始化不做改动,变量不要声明在onCreateView 就可以了,然后把img_nonetwork按钮监听移到网络判断外面,方法里就放网络判断的操作 if (MainActivity.isNetworkConnected(getActivity())){ //有网络 正常加载webview img_nonetwork.setVisibility(View.GONE); nonet_text.setVisibility(View.GONE); webview_shouye.loadUrl(AppConstants.url_shouye); }else{ //没网络 提示没网络 并可以双击重新尝试连接 webview_shouye.setVisibility(View.GONE); img_nonetwork.setVisibility(View.VISIBLE); nonet_text.setVisibility(View.VISIBLE); });
Aln_ 2017-11-08
  • 打赏
  • 举报
回复
引用 3 楼 YaphetS_Jo 的回复:
你把判断网络环境和之后的操作单独写一个方法,然后在onCreateView 和按钮点击事件里分别调用一次就好了
一些view的初始化都是在onCreateView 方法里做的 单独写外面 用不了了
YaphetS_Jo 2017-11-08
  • 打赏
  • 举报
回复
你把判断网络环境和之后的操作单独写一个方法,然后在onCreateView 和按钮点击事件里分别调用一次就好了
Aln_ 2017-11-08
  • 打赏
  • 举报
回复
结束
Aln_ 2017-11-08
  • 打赏
  • 举报
回复
想到了 我的逻辑出问题了 再次加载的 img_nonetwork.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // 点击尝试重新加载的方法 } }); 这个方法是每次都生效的 不需要反复的new onclicklistener()了 直接在点击事件方法里面处理一遍逻辑就好了 if(有网络){ dosomething }else{ dootherthing } 就可以了 。

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧