Javascript Webview不覆盖默认浏览器
我有一个使用Javascript Webview不覆盖默认浏览器,javascript,android,webview,Javascript,Android,Webview,我有一个使用webview创建的浏览器,但每当我在textfield中键入内容并进行搜索时,它就会启动默认浏览器。 另外,当我点击编辑文本字段写东西,然后点击谷歌主页的搜索栏,键盘不会弹出,我必须按下后退按钮,然后再次点击谷歌主页的搜索栏,使键盘出现 public class Browser extends Activity { private EditText urlText; private Button goButton; @Override public void on
webview
创建的浏览器,但每当我在textfield
中键入内容并进行搜索时,它就会启动默认浏览器。
另外,当我点击编辑文本字段写东西,然后点击谷歌主页的搜索栏
,键盘不会弹出,我必须按下后退按钮,然后再次点击谷歌主页的搜索栏
,使键盘出现
public class Browser extends Activity {
private EditText urlText;
private Button goButton;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_browser);
WebView myWebView = (WebView) findViewById(R.id.webview0001);
myWebView.loadUrl("http://www.google.com");
myWebView.setWebViewClient(new WebViewClient());
myWebView.getSettings().setBuiltInZoomControls(true);
urlText =(EditText)findViewById(R.id.url_field);
goButton=(Button)findViewById(R.id.go_button);
goButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
openBrowser();
}
});
urlText.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode==KeyEvent.KEYCODE_ENTER){
openBrowser();
return true;
}
return false;
}
});
}
public void openBrowser(){
Uri uri=Uri.parse(urlText.getText().toString());
Intent intent=new Intent(Intent.ACTION_VIEW,uri);
startActivity(intent);
}
}
如果希望WebView自己处理导航,则应调用WebView.loadUrl(),而不是创建视图意图。这里的文档可能会有所帮助
此外,您需要使用返回
false
的实现来实现WebViewClient.shouldOverrideUrlLoading(请参阅java.lang.String))。默认情况下,WebView会将URL导航(例如链接单击)传递到系统进行解析,返回错误停止该行为。您的问题是什么?问题位于顶部。请使用鼠标滚轮(向上滚动)或按键盘的“PageUp”按钮,它位于键盘的右上角(在“PageDown”上方)。Internet上有许多Android开发者支持网站,提供多种语言的帮助。我列举了几个例子。您可能会更幸运地使用一种更适合您的语言的网站。在英语中,您没有提出任何问题。我已将我的问题告知您,而阅读了常见问题解答。我在哪里实现WebViewClient.shouldoverrideloading?我没有java经验。本页可能会对您有所帮助,它有一个使用WebVieww的初学者教程: