Java Android Studio:setOnDateChangeListener不工作

Java Android Studio:setOnDateChangeListener不工作,java,android,Java,Android,我浏览了很多网站,甚至是youtube视频,但没有一个有效。我总是犯同样的错误。在我开始使用setOnDateChangeListener命令之前,一切都正常。说实在的,压力很大 public class MainActivity extends AppCompatActivity { CalendarView calendarView; TextView myDate; @Override protected void onCreate(Bundle sav

我浏览了很多网站,甚至是youtube视频,但没有一个有效。我总是犯同样的错误。在我开始使用setOnDateChangeListener命令之前,一切都正常。说实在的,压力很大

public class MainActivity extends AppCompatActivity {

    CalendarView calendarView;
    TextView myDate;

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

        calendarView = (CalendarView) findViewById(R.id.calendarView);
        myDate = (TextView) findViewById(R.id.myDate);


        calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
            @Override
            public void onSelectedDayChange(@NonNull CalendarView view, int year, int month, int dayOfMonth) {
                String date = (month + 1) + "/" + dayOfMonth + "/" + year;
                myDate.setText(date);
            }
        });

    }
}
这些就是我得到的错误

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.calendarhke, PID: 10946
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.calendarhke/com.example.calendarhke.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.CalendarView.setOnDateChangeListener(android.widget.CalendarView$OnDateChangeListener)' on a null object reference
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3333)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3477)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2043)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:216)
        at android.app.ActivityThread.main(ActivityThread.java:7464)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:955)
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.CalendarView.setOnDateChangeListener(android.widget.CalendarView$OnDateChangeListener)' on a null object reference
        at com.example.calendarhke.MainActivity.onCreate(MainActivity.java:25)
        at android.app.Activity.performCreate(Activity.java:7990)
        at android.app.Activity.performCreate(Activity.java:7979)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3308)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3477) 
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) 
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2043) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:216) 
        at android.app.ActivityThread.main(ActivityThread.java:7464) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:955) 
I/Process: Sending signal. PID: 10946 SIG: 9

这是一个学校项目,请帮我解决

您将获得一个
NullPointerException
,这意味着您的日历未初始化,因此在尝试调用null对象上的方法时会出现异常


确保
R.id.calendarView
确实是日历视图的正确id。再次检查该id的
activity\u main.xml

检查xml。R.id.calendarView不存在可能这能回答您的问题吗?你试过使用Kotlin吗?我找到了ID,我该如何更改它?