我想从EditField打开一个字符串,按下按钮,页面应该在我的WebView中打开。而不是我的网址是默认打开网页浏览器
XML:
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;
}
});
}
}
答案 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;
}
}
希望它会对你有所帮助。