2017-11-25 4 views
0

Ich versuche, die Website in einer Android App Web-Ansicht zu laden.webview Android App nicht laden irgendein Bild oder navigieren Sie in der Website-Link

Die Seite lädt, ohne dass die Bilder, alle Bilder von der Website nicht geladen werden, und ich kann in der Warenkorb gelegt Produkt oder sogar offene Details anderen Produkt

Der Code für MainActivity.java unten ist nicht hinzuzufügen gezeigt .

import android.app.ActionBar; 
import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.view.Window; 
import android.webkit.WebChromeClient; 
import android.webkit.WebSettings; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
import android.widget.ShareActionProvider; 
public class MainActivity extends Activity { 
private WebView mWebView; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    setContentView(R.layout.activity_main); 
    mWebView = (WebView) findViewById(R.id.activity_main_webview); 
    mWebView.setWebChromeClient(new WebChromeClient()); 
    mWebView.setWebViewClient(new WebViewClient()); 
    WebSettings webSettings = mWebView.getSettings(); 
    webSettings.setJavaScriptEnabled(true); 

    mWebView.loadUrl("http://shopliek.com"); 
    mWebView.setWebViewClient(new MyAppWebViewClient(){ 
     @Override 
     public void onPageFinished(WebView view, String url) { 
//hide loading image 
      findViewById(R.id.progressBar1).setVisibility(View.GONE); 
//show webview 

findViewById(R.id.activity_main_webview).setVisibility(View.VISIBLE); 
     }}); 
} 
@Override 
public void onBackPressed() { 
    if(mWebView.canGoBack()) { 
     mWebView.goBack(); 
    } else { 
     super.onBackPressed(); 
    } 
} 
private ShareActionProvider mShareActionProvider; 
@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
/** Inflating the current activity's menu with res/menu/items.xml */ 
    getMenuInflater().inflate(R.menu.menu_main, menu); 
/** Getting the actionprovider associated with the menu item whose id is share */ 
    mShareActionProvider = (ShareActionProvider) menu.findItem(R.id.share).getActionProvider(); 
/** Setting a share intent */ 
    mShareActionProvider.setShareIntent(getDefaultShareIntent()); 
    return super.onCreateOptionsMenu(menu); 
} 
/** Returns a share intent */ 
private Intent getDefaultShareIntent(){ 
    Intent intent = new Intent(Intent.ACTION_SEND); 
    intent.setType("text/plain"); 
    intent.putExtra(Intent.EXTRA_SUBJECT, "Make your Life Easier"); 
    intent.putExtra(Intent.EXTRA_TEXT," Visit google"); 
    return intent; 
} 
} 

und auch diese MyAppWebViewClient:

public class MyAppWebViewClient extends WebViewClient { 
@Override 
public boolean shouldOverrideUrlLoading(WebView view, String url) { 
    if(Uri.parse(url).getHost().endsWith("www.shopliek.com")) { 
     return false; 
    } 
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
    view.getContext().startActivity(intent); 
    return true; 


} 
} 

Ich bin Anfänger, so wenden Sie sich bitte

Antwort

0

Versuchen Sie, diese

mWebView = (WebView) findViewById(R.id.activity_main_webview); 
    mWebView.getSettings().setJavaScriptEnabled(true); 
    mWebView.loadUrl("http://www.google.com"); 

Hoffnung freundlich mit einfachen Anweisung und dank erklären dies funktionieren wird. Lass mich wissen ob es funktioniert.

+0

alles gleich leider wissen lassen –

0

ich den folgenden Code verwendet haben & alles richtig funktionierte: anzeigen Bilder, Details Seite ... ...

public class WebviewActivity extends Activity { 

    @BindView(R.id.webview) 
    WebView web; 

    @BindView(R.id.progressBar) 
    ProgressBar progressBar; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     try { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_webview); 
      ButterKnife.bind(this); 
      web.setWebViewClient(new myWebClient()); 
      web.getSettings().setJavaScriptEnabled(true); 
      web.loadUrl(WebserviceUrl.BASE_URL); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

    public class myWebClient extends WebViewClient { 
     @Override 
     public void onPageStarted(WebView view, String url, Bitmap favicon) { 

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

     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 

      progressBar.setVisibility(View.VISIBLE); 
      web.loadUrl(url); 

      return true; 

     } 

     public void onReceivedSslError(WebView view, final SslErrorHandler handler, SslError error) { 
      final AlertDialog.Builder builder = new AlertDialog.Builder(WebviewActivity.this); 
      builder.setMessage(R.string.notification_error_ssl_cert_invalid); 
      builder.setPositiveButton(R.string.continue_to_page, new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        handler.proceed(); 
       } 
      }); 
      builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        handler.cancel(); 
       } 
      }); 
      final AlertDialog dialog = builder.create(); 
      dialog.show(); 
     } 

     @Override 
     public void onPageFinished(WebView view, String url) { 
      // TODO Auto-generated method stub 
      super.onPageFinished(view, url); 
      progressBar.setVisibility(View.GONE); 
     } 
    } 


} 

versuchen es & mir das Ergebnis

+0

viele Fehler konnten diesen Code nicht ausführen –

+0

Ich habe die Antwort bearbeitet, jetzt können Sie den vollständigen Code sehen. Sie sollten nur Butterknife (@BindView) -Technologie anstelle von findview verwenden, ändern Sie auch die Meldungen in onReceivedSslError Abschnitt und änderte baseurl ... nach den Änderungen sollte es ein Problem für das Ausführen von App sein. –

+0

Ich habe meinen Code bereits gelöscht und Ihren hinzugefügt, aber ich konnte ihn nicht ausführen, weil die nicht identifizierten Codes –