有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Android Webview不会从按钮侦听器加载Url

它会加载站点,但只有当它不在Action Listener中时才会加载。 即使我在onCreate方法中向下加载url,它也能工作。 我已经检查了Webview是否不可见,按钮侦听器也可以工作

在编写了几个小时的其他代码后,问题开始了

WebView wbvCheckURL; Button btnSearch; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); wbvCheckURL = findViewById(R.id.wbvCheckURL); btnSearch = findViewById(R.id.btnSearch); wbvCheckURL.setWebChromeClient(new WebChromeClient() { @Override public void onProgressChanged(WebView view, int newProgress) { ... } @Override public void onReceivedTitle(WebView view, String title) { ... } }); wbvCheckURL.getSettings().setJavaScriptEnabled(true); wbvCheckURL.setWebViewClient(new WebViewClient()); // When i do it like this it works: // wbvCheckURL.loadUrl("http://www.google.de"); btnSearch.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { wbvCheckURL.loadUrl("http://www.google.de"); hideKeyboard(v); LoadCode(); } }); }

共 (1) 个答案

  1. # 1 楼答案

    你可以试试我的。我的是另一种带有抽屉布局的网络视图。希望您了解如何插入webview

    package com.example.appname;
    
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.webkit.WebSettings;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;
    import android.widget.ImageButton;
    
    import androidx.appcompat.app.AppCompatActivity;
    import androidx.appcompat.widget.ShareActionProvider;
    import androidx.appcompat.widget.Toolbar;
    import androidx.core.view.MenuItemCompat;
    
    public class Provokinc extends AppCompatActivity {
    
        private WebView webView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_provokinc);
            Toolbar toolbar = findViewById(R.id.toolbar);
            setSupportActionBar(toolbar);
            webView = findViewById(R.id.webView);
            webView.setWebViewClient(new WebViewClient());
            webView.loadUrl("https://stackoverflow.com/questions/63438455/android-webview-doesnt-load-the-url-from-button-listener");
    
            WebSettings webSettings = webView.getSettings();
            webSettings.setJavaScriptEnabled(true);
    
            ImageButton ImageButton = (ImageButton) findViewById(R.id.imageButtonA);
            ImageButton ImageButton1 = (ImageButton) findViewById(R.id.imageButtonB);
            ImageButton ImageButton2 = (ImageButton) findViewById(R.id.imageButtonC);
            ImageButton ImageButton3 = (ImageButton) findViewById(R.id.imageButtonD);
            ImageButton ImageButton4 = (ImageButton) findViewById(R.id.imageButtonE);
    
    
            ImageButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
    
                    Intent int1 = new Intent(Provokinc.this,Main3Activity.class);
                    startActivity(int1);
                }
            });
    
            ImageButton1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
    
                    Intent int2 = new Intent(Provokinc.this, Main2Activity.class);
                    startActivity(int2);
                }
            });
    
            ImageButton2.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
    
                    Intent int3 = new Intent(Provokinc.this, Provokinc.class);
                    startActivity(int3);
                }
            });
    
            ImageButton3.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
    
                    Intent int4 = new Intent(Provokinc.this, ActivityItemDetails.class);
                    startActivity(int4);
                }
            });
    
            ImageButton4.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
    
                    Intent int5 = new Intent(Provokinc.this, MainActivity.class);
                    startActivity(int5);
                }
            });
        }
    
    
        @Override
        public void onBackPressed(){
            if(webView.canGoBack()){
                webView.goBack();
            }                 else{
                super.onBackPressed();
            }
        }
    
    
    }