当前位置: 首页 > 知识库问答 >
问题:

在android studio中添加任何Internet功能后,代码不起作用[已关闭]

郎和通
2023-03-14

该应用程序在添加无互联网代码之前工作,但现在添加后不工作。请帮我解决我在这段代码中的错误。

Main Activity2Java

导入androidx。appcompat。应用程序。应用程序活动;

导入android.annotation.;

导入android。应用程序。对话

导入android。应用程序。进程对话;

导入android。所容纳之物上下文

导入android.graphics.颜色;

导入android。图样可提取的。可着色;

导入android。网连接管理器;

导入android。网网络信息;

导入android。操作系统。捆

导入android。看法看法

导入android。看法窗口管理器;

导入android。网络工具包。彩色荧光屏;

导入android。网络工具包。网站设置;

导入android.webkit.WebView;

导入android。网络工具包。WebViewClient;

导入android。小装置。按钮

导入android。小装置。ProgressBar;

公共类Main Activity2扩展AppCompatActive{

WebView webView;

private WebView myWebView;

ProgressBar progressBar;

ProgressDialog progressDialog;

@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);
    progressBar = (ProgressBar) findViewById(R.id.progress);
    progressDialog = new ProgressDialog(this);
    progressDialog.setMessage("Loading...");
    myWebView = (WebView) findViewById(R.id.webView);
    WebSettings webSettings = myWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);



    ConnectivityManager connectivityManager = (ConnectivityManager)
            getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
    if (networkInfo == null || !networkInfo.isConnected() || !networkInfo.isAvailable()) {

        Dialog dialog = new Dialog(this);

        dialog.setContentView(R.layout.alert_dialog);
        dialog.setCanceledOnTouchOutside(false);
        dialog.getWindow().setLayout(WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.WRAP_CONTENT);

        dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

        dialog.getWindow().getAttributes().windowAnimations =
                android.R.style.Animation_Dialog;
        Button btnTryAgain = dialog.findViewById(R.id.btn_try_again);
        btnTryAgain.setOnClickListener(view -> recreate());

        dialog.show();
    }
    else {
        webView.loadUrl("https://cetproapp.blogspot.com/p/home.html");
    }
    webView.loadUrl("https://cetproapp.blogspot.com/p/home.html");
    myWebView.setWebViewClient(new WebViewClient());
    myWebView.setWebChromeClient(new WebChromeClient() {
        @Override
        public void onProgressChanged(WebView view, int newProgress) {
            progressBar.setVisibility(View.VISIBLE);
            progressBar.setProgress(newProgress);
            setTitle("Loadnig...");
            progressDialog.show();
            if (newProgress == 100) {
                progressBar.setVisibility(View.GONE);
                setTitle(view.getTitle());
                progressDialog.dismiss();
            }
            super.onProgressChanged(view, newProgress);
        }
    });


}

@Override
public void onBackPressed() {
    if (myWebView.canGoBack()) {
        myWebView.goBack();
    } else {
        super.onBackPressed();
    }
}

}

共有1个答案

左丘烨烁
2023-03-14

看起来一切正常,但您正在调用没有参考id视图的webView。因此,您应该调用myWebView,而不是如下所示:

@Override
protected void onCreate(Bundle savedInstanceState){
  ........
  ......
  .....
  else{
     webView.loadUrl(.....); //replace webView with myWebView
     myWebView.loadUrl(....);
  }
   webView.loadUrl(.....); //replace webView with myWebView
   myWebView.loadUrl(.....); 
   .....
}
 类似资料:
  • 问题内容: 我对jQuery函数创建的新元素的“点击”操作有问题,它不起作用。 我为此链接创建了一个JSFiddle,但是它不能完美运行,因为我无法在JSFiddle中调用Ajax请求。 我有两个按钮 首次调用ajax函数时,一个按钮会回答以下输出: 按钮二仅用于擦除。按钮一创建。 当我单击此新按钮时,ajax函数将返回此按钮, 第一个按钮消失,第二个按钮回来。现在存在问题所在,如果我单击第一个按

  • 问题内容: 此功能似乎无法正常工作。当我调用该函数时,我正在使用: 当我从中删除时,它至少会运行,但不会上传照片。我该如何解决这个问题? 问题答案: IE10中的XHR不支持FormData。您可以安装Windows 8客户预览版进行尝试。

  • 我有4个盒子,它是一个标准的2列2行盒子。不幸的是我必须提供ie支持。在internet explorer中,flex wrap不起作用,所以所有的框都在一排,看起来很乱。有没有一种可以替代柔性包装的方法呢?代码非常基本,在所有浏览器中都能工作,但在IE中不行。

  • 问题内容: 据我所知,要从内核空间通知用户空间,一种方法是使用轮询。这意味着内核驱动程序应首先提供轮询方法。下面的代码是从互联网上找到的,它确实有效! 我可以这样使它起作用: 然后 看结果。 但是如何添加轮询方法呢?我试了几次,但还是失败了。有人可以帮忙吗?谢谢! 问题答案: 您可以在内核本身中找到一些很好的示例。看下一个文件: 驱动程序/char/rtc.c fs / proc / kmsg.c

  • 问题内容: 我正在使用这种技术来加载数据。因此,我创建了以下解析函数: 存在的问题是,是在瞬间函数执行。它是正确的/错误吗?我该如何解决? 问题答案: 您需要改用。该只更新 后 的路线被改变。因此,您的代码应遵循以下原则:

  • 问题内容: jQuery click函数在这里工作正常 但是如果我通过ajax 设置一些功能,将无法正常工作。 例如 现在,最后一个不起作用。 jsfiddle示例:http : //jsfiddle.net/suhailvs/wjqjq/ 注意:CSS在这里工作正常。 我想使这些新添加的与jQuery click一起工作。 问题答案: 问题是.click仅适用于页面上已经存在的元素。如果要连接将