Java 我的应用程序正在崩溃

Java 我的应用程序正在崩溃,java,android,Java,Android,这是我刷新页面时的代码,应用程序崩溃。 当我刷新它时,我希望它检查设备是否已连接到internet。如果是,则查看带有按钮的存根,否则不查看存根 请告诉我在哪里我需要修改我的代码,我是一个完全的初学者,所以请详细指导我 package com.example.test1api; import androidx.appcompat.app.AppCompatActivity; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout

这是我刷新页面时的代码,应用程序崩溃。 当我刷新它时,我希望它检查设备是否已连接到internet。如果是,则查看带有按钮的存根,否则不查看存根

请告诉我在哪里我需要修改我的代码,我是一个完全的初学者,所以请详细指导我

package com.example.test1api;

import androidx.appcompat.app.AppCompatActivity;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;

import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.view.View;
import android.view.ViewStub;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private Button button;
    SwipeRefreshLayout refreshLayout;

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

        checkConectivity();

        refreshLayout = findViewById(R.id.refreshLayout);
        refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                checkConectivity();
                refreshLayout.setRefreshing(false);

            }
        });



    }


        public void checkConectivity () {

        ViewStub dailyversestub;

        dailyversestub = findViewById(R.id.versestub);


            ConnectivityManager manager = (ConnectivityManager)
                    getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);

            NetworkInfo networkInfo = manager.getActiveNetworkInfo();

            if (networkInfo == null || !networkInfo.isConnected() || !networkInfo.isAvailable()) {


                if (dailyversestub!=null) {
                    dailyversestub.setVisibility(View.GONE);
                }



            } else {

                if (dailyversestub!=null) {
                    dailyversestub.setVisibility(View.VISIBLE);
                }


                    button = findViewById(R.id.button);

                    button.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            Intent intent = new Intent(MainActivity.this, EntireMassOrder.class);
                            startActivity(intent);
                        }
                    });




            }


        }


}
LOGCAT


2020-06-01 14:07:43.062 10301-10328/com.example.test1api E/ion:ioctl c0044901失败,代码为-1:无效参数,如logcat所示,其发生是因为NullPointerException,这意味着此处要访问的DailyVerseSub为null

因此,在调用dailyversestub.setVisibilityView.GONE之前,请将空检查添加为

if(dailyversestub!=null){
    dailyversestub.setVisibility(View.GONE);
}

DailyVerseSub.setVisibilityView.VISIBLE也一样

logcat,这是否回答了你的问题?请告诉我在哪里我需要修改我的代码,我是一个完全的初学者,所以请详细指导我。这不是一个好的心态。您不应该询问其他人如何以及在何处修复代码,而应该查看调试,并尝试从错误消息和堆栈跟踪中了解问题,那会有很大帮助more@IntelliJAmiya将日志cat添加到问题ava.lang.NullPointerException:尝试调用虚拟方法'void android.view.ViewStub.setVisibilityint'检查ViewStub idIt不适用于else部分,我已使用您的解决方案编辑了问题中的代码,以下是logcat:2020-06-01 14:07:43.062 10301-10328/com.example.test1api E/ion:ioctl c0044901失败,代码为-1:无效参数