2017-06-01 2 views
-2

java.lang.ArrayIndexOutOfBoundsException mit .shouldOverrideUrlLoading (WebViewContentsClientAdapter.java:357) unter org.chromium.android_webview.AwContentsClient.shouldIgnoreNavigation (AwContentsClient.java:168) unter org.chromium.android_webview.AwContentsClientBridge.shouldOverrideUrlLoading (AwContentsClientBridge.java:352) unter org.chromium.base. SystemMessageHandler.nativeDoRunLoopOnce (Native Methode: 0) unter org.chromium.base.SystemMessageHandler.handleMessage (SystemMessageHandler.java:41) unter android.os.Handler.dispatchMessage (Handler.java:102) unter android.os.Looper.loop (Looper.java:148) bei android.app.ActivityThread.main (ActivityThread.java:7406) bei java.l ang.reflect.Method.invoke (Native Methode: 0) unter com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:1230) unter com.android.internal.os.ZygoteInit.main (ZygoteInit.java : 1120)

Hier ist mein Code:

hot_webview.setWebViewClient(new WebViewClient() 
    { 

     public boolean shouldOverrideUrlLoading(WebView view, String url) 
     { 

      String checkurl = url; 
      String[] separated = checkurl.split("="); 
      String splitted=separated[1]; 


      Log.i("iaminh", " shouldOverrideUrlLoading called"); 

      boolean installed = appInstalledOrNot(splitted); 
      if(installed) 
      { 

       Intent LaunchIntent = getActivity().getPackageManager() 
         .getLaunchIntentForPackage(splitted); 
       startActivity(LaunchIntent); 


       hot_webview.loadUrl(Hot_url); 

      } else 
      { 


       try { 
        startActivity(new Intent(Intent.ACTION_VIEW, Uri 
          .parse(market_url + splitted))); 

        hot_webview.loadUrl(Hot_url); 

       } catch (ActivityNotFoundException anfe) 
       { 
        startActivity(new Intent(
          Intent.ACTION_VIEW, 
          Uri.parse(playstore_url + splitted))); 

        hot_webview.loadUrl(Hot_url); 
       } 

      } 






      return false; 
     } 

    }); 
+1

post fragment code –

+0

Bitte teilen Sie den gesamten Code –

+0

Ich bearbeite meine Frage Bitte überprüfen Sie es erneut. –

Antwort

0

Problem ist dieses Stück Code

String splitted=separated[1]; 

, wenn Sie mit Array zu tun haben, es einen Scheck zu tun, bevor Zugriff auf das Element sicher ist in der Reihe. Etwas wie

if(separated.length>2){ 
// do your stuff here 
String splitted=separated[1]; 
}else{ 
//handle failure case here 
} 
Verwandte Themen