首页 > 解决方案 > Android:NullPointerException:尝试调用虚拟方法“布尔”

问题描述

我收到以下错误:

*E/AndroidRuntime: FATAL EXCEPTION: main
     Process: xxx.mxxxa.xxx, PID: 10610
    java.lang.NullPointerException: Attempt to invoke virtual method 'boolean    java.lang.String.contains(java.lang.CharSequence)' on a null object reference* 

在以下几行:

public void onLoadResource (WebView view, String url) {

                if (datingView.getUrl().contains("messages.php") && datingView.getUrl().contains("messages.php" +
                        "")){
                    bannerReklam.setVisibility(View.GONE);
                }else if (datingView.getUrl().contains("upgrade.php") && datingView.getUrl().contains("upgrade.php" +
                        "")){
                    bannerReklam.setVisibility(View.GONE);
                }else if (datingView.getUrl().contains("index.php") && datingView.getUrl().contains("index.php" +
                        "")){
                    bannerReklam.setVisibility(View.GONE);
                }else if (datingView.getUrl().contains("join.php") && datingView.getUrl().contains("join.php" +
                        "") ){
                    bannerReklam.setVisibility(View.GONE);

                }else{

                    bannerReklam.setVisibility(View.VISIBLE);
                }

                // if url contains string androidexample
                // Then show progress  Dialog
                if (progressDialog == null && url.contains("instasquare")
                        ) {

                    // in standard case YourActivity.this
                    progressDialog = new ProgressDialog(arkadasBulMain.this);
                    progressDialog.setMessage("Loading...");
                    progressDialog.show();
                }
            }

此问题会导致应用程序停止。android 9.0 以下的版本会出现此错误。

标签: javaandroidwebview

解决方案


在某些情况下 datingView.getUrl()返回null。首先尝试检查null,然后尝试使用contains. 例如:

String datingUrl = datingView.getUrl();

if(datingUrl != null && datingUrl.contains("messages.php"))

推荐阅读