如何在WebView中打开字符串(url)

时间:2012-09-05 10:45:50

标签: android android-webview

我想从EditField打开一个字符串,按下按钮,页面应该在我的WebView中打开。而不是我的网址是默认打开网页浏览器

XML:

enter image description here

CODE:

public class WebAdress extends Activity {

WebView webView;
ImageButton buttonGo;
EditText textWWW;
String URL = new String();
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.www);

    buttonGo = (ImageButton) findViewById(R.id.imageButton1);
    textWWW  = (EditText) findViewById(R.id.editText1);
    webView = (WebView) findViewById(R.id.webView1);

    buttonGo.setOnClickListener(new OnClickListener() {

        @SuppressLint("SetJavaScriptEnabled")
        public void onClick(View v) {
            URL = "http://" + textWWW.getText().toString();
            WebSettings settings = webView.getSettings();
            settings.setJavaScriptEnabled(true);
            webView.loadUrl(URL);
            URL = null;
        }
    });

}

}

2 个答案:

答案 0 :(得分:3)

试试这个。

// workaround so that the default browser doesn't take over
   webView.setWebViewClient(new MyWebViewClient());

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

Demo

答案 1 :(得分:3)

首先检查您的清单文件以检查互联网权限,然后尝试使用此代码将网址加载到webview中。他的代码适用于我同样的观点。

webview = (WebView) findViewById(R.id.webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl(YOUR ANY URL);
webview.setWebViewClient(new webviewClient());

class webviewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}

希望它会对你有所帮助。