Java Android Studio:setOnDateChangeListener不工作
我浏览了很多网站,甚至是youtube视频,但没有一个有效。我总是犯同样的错误。在我开始使用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
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,我该如何更改它?