Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.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
Java 与OnClickListener一起使用时,WebView在Android中不工作_Java_Android_Webview - Fatal编程技术网

Java 与OnClickListener一起使用时,WebView在Android中不工作

Java 与OnClickListener一起使用时,WebView在Android中不工作,java,android,webview,Java,Android,Webview,我正在开发一个使用WebView的简单Android应用程序 代码是: activity_main.xml 但是,此代码似乎不起作用。我不知道为什么。当我没有添加任何EditText或按钮时,它工作得非常好,MainActivity.java中的代码是: 我不知道为什么会发生这种情况,因为该应用程序以前似乎工作正常。 当我更改布局时,应用程序无法运行 请详细帮助我,因为我是Android新手 谢谢 请随时向我推荐一种更好的方法来实现这一点。在它之前创建所有其他视图对象(如web view)的ja

我正在开发一个使用WebView的简单Android应用程序

代码是:

activity_main.xml

但是,此代码似乎不起作用。我不知道为什么。当我没有添加任何EditText或按钮时,它工作得非常好,MainActivity.java中的代码是:

我不知道为什么会发生这种情况,因为该应用程序以前似乎工作正常。 当我更改布局时,应用程序无法运行

请详细帮助我,因为我是Android新手

谢谢


请随时向我推荐一种更好的方法来实现这一点。

在它之前创建所有其他视图对象(如web view)的java对象,然后再试。

我只是按原样尝试了您的代码,它成功了。但需要注意的是,您必须键入完整的url,例如:http://www.example.com.

一个改进是这样做,您只需输入example.com,方法如下:

 button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            editText = (EditText)findViewById(R.id.editUrl);
            String url = editText.getText().toString();

            if (!url.contains("www")){
                url = "www." + url;
            }

            if (!url.contains("http")){
                url = "http://" + url;
            }

            mWebView = (WebView) findViewById(R.id.webView1);
            mWebView.getSettings().setJavaScriptEnabled(true);
            mWebView.setWebViewClient(new WebViewClient());
            mWebView.loadUrl(url);
        }
    });

请解释什么不起作用。在EditText中键入的URL不会显示在WebView中。您在EditText字段中键入的确切内容是什么?我正在键入URL。示例:我打开应用程序,键入编辑文本,然后单击GO按钮。然后WebView加载我在EditText中键入的URL。请参见下面的答案。您的代码按原样工作,但必须键入完整的url。我想我的答案会有帮助。请用代码解释一下。我对这个很陌生。谢谢
public class MainActivity extends ActionBarActivity {

    WebView mWebView;
    EditText editText;
    Button button;

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

        button = (Button)findViewById(R.id.buttonGo);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                editText = (EditText)findViewById(R.id.editUrl);
                String url = editText.getText().toString();
                mWebView = (WebView) findViewById(R.id.webView1);
                mWebView.getSettings().setJavaScriptEnabled(true);
                mWebView.setWebViewClient(new WebViewClient());
                mWebView.loadUrl(url);
            }
        });

    }
}
public class MainActivity extends ActionBarActivity {

    WebView mWebView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
                String url = "http://google.com";

                mWebView = (WebView) findViewById(R.id.webView1);
                mWebView.getSettings().setJavaScriptEnabled(true);
                mWebView.setWebViewClient(new WebViewClient());
                mWebView.loadUrl(url);
            }
        });

    }
}
 button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            editText = (EditText)findViewById(R.id.editUrl);
            String url = editText.getText().toString();

            if (!url.contains("www")){
                url = "www." + url;
            }

            if (!url.contains("http")){
                url = "http://" + url;
            }

            mWebView = (WebView) findViewById(R.id.webView1);
            mWebView.getSettings().setJavaScriptEnabled(true);
            mWebView.setWebViewClient(new WebViewClient());
            mWebView.loadUrl(url);
        }
    });