2017-10-18 107 views
-1

我想显示在片段网页视图警报弹出如果设备是离线代替表示默认消息(“的网页.....”)。我是Android应用开发领域的新手。我已经添加了进度条,但是我不知道在哪里以及为了提醒消息而包含什么。这是我的tabinfo.java警报弹出如果装置离线

tabinfo.java

public class tabinfo extends Fragment{ 

    public WebView mwebView; 
    ProgressBar bar; 

    public tabinfo(){ 

    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 
     View rootView = inflater.inflate(R.layout.tabinfo, null); 
     bar = (ProgressBar) rootView.findViewById(R.id.progressBar2); 
     // initialize bar 

     mwebView = (WebView) rootView.findViewById(R.id.webview); 
     mwebView.loadUrl("https://mbasic.facebook.com"); 
     mwebView.getSettings().setJavaScriptEnabled(true); 
     mwebView.setWebViewClient(new MyWebViewClient()); 
     return rootView; 
    } 

    private class MyWebViewClient extends WebViewClient { 
     @SuppressWarnings("deprecation") 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return true; 
     } 

     @Override 
     public void onPageStarted(final WebView view, final String url, final Bitmap favicon) { 
      bar.setVisibility(View.VISIBLE); 
      // ^^^ use it as it is 

      super.onPageStarted(view, url, favicon); 
     } 

     @Override 
     public void onPageFinished(WebView view, String url) { 
      bar.setVisibility(View.GONE); 
      // ^^^ use it as it is 
      super.onPageFinished(view, url); 
     } 
    } 
} 

回答

0

在MyWebViewClient类中重写onReceivedError方法

@Override 
public void onReceivedError(WebView view, int errorCode, String description, 
String failingUrl) { 
super.onReceivedError(view, errorCode, description, failingUrl); 

view.loadUrl("about:blank"); 
ConnectivityManager cm = (ConnectivityManager) 
getSystemService(Context.CONNECTIVITY_SERVICE); 

if(cm.getActiveNetworkInfo() != null){ 
Toast toast = Toast.makeText(context, " Internet Connected", Toast.LENGTH_LONG).show(); 
} 
else 
Toast toast = Toast.makeText(MainActivity.this, "No Internet Connection", Toast.LENGTH_LONG).show; 
} 
清单中

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

在片段

获得上下文
Context context; 
@Override 
public void onAttach(Context context) { 
super.onAttach(context); 
this.context = context; 
} 
+0

感谢@karthik为您的回应。我对上下文有点困惑,它显示错误 - >'无法解析符号上下文'。 –

+0

使用getActivity()方法代替上下文 –