Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Webview不覆盖默认浏览器_Javascript_Android_Webview - Fatal编程技术网

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的初学者教程: