2012-09-28 190 views
3

所以,我一直在谷歌四个小时左右:(我不能让网站只保持打开在应用程序中。用户名和密码一旦点击登录页面就会在默认浏览器打开。我学到的是,我应该使用:shouldOverrideUrlLoading() 但我不知道它在哪里以及如何使用它。这是我的MainActivity.java,在哪里或什么我摆在那里,从默认浏览器中打开停止。(忽略*webview打开默认浏览器,我不知道该把代码放在哪里

package com.example.***.*******c; 

import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.webkit.WebView; 

public class MainActivity extends Activity { 

    private WebView mWebView; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     mWebView = (WebView) findViewById(R.id.webview); 
     mWebView.getSettings().setJavaScriptEnabled(true); 
     mWebView.loadUrl("http://www.*******.org/"); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.activity_main, menu); 
     return true; 
    } 
} 
+0

的可能的复制[Android的WebView中启动浏览器时要调用使用loadURL(http://stackoverflow.com/questions/7746409/android-webview-launches-browser-when-calling-loadurl) – rds

回答

13

你必须实现扩展WebViewClient类,并在次重写它ERE。试试这个:

public class MainActivity extends Activity { 

    private WebView mWebView; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     mWebView = (WebView) findViewById(R.id.webview); 
     mWebView.getSettings().setJavaScriptEnabled(true); 
     webView.setWebViewClient(new MyWebViewClient()); 
     mWebView.loadUrl("http://www.*******.org/"); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.activity_main, menu); 
     return true; 
    } 

    private class MyWebViewClient extends WebViewClient { 

     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return false; 
     } 
    } 
} 
+0

这是我现在做的,但它仍然打开默认浏览器,从而退出应用程序: – badmanthe5

+1

'shouldOverrideUrlLoading(...)'应返回'false'以防止打开默认浏览器。 – Squonk

+0

谢谢你现在的作品!过去几天我学到了一些东西。如何添加可以通过进入设置并选择此类选项来保存用户名和密码的内容。另外,如何在点击手机上的选项按钮后添加退出应用程序选项。 Youtube教程或链接都很好。我想现在学习。再次感谢你这么多人。 2天的工作终于付清了。 – badmanthe5