java - 通过不同的方法应用课程日历
问题描述
我正在尝试在我的一个片段中创建日历,但我不知道如何将日历类调用到 onCreate(); fragmentTwo.java 中的函数。我已经尝试过了,但我不断收到错误:
致命错误尝试在空对象引用上调用虚拟方法 'android.view.Window$Callback android.view.Window.getCallback()'
.
片段二.java:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Calendar calendar = new Calendar();
calendar.setContentView(R.layout.calendar);
}
日历.java:
public class Calendar extends AppCompatActivity {
CalendarView calendarView;
TextView dateDisplay;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.calendar);
calendarView = (CalendarView) findViewById(R.id.calendarView);
dateDisplay = (TextView) findViewById(R.id.date_display);
dateDisplay.setText("Date: ");
calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(CalendarView calendarView, int i, int i1, int i2) {
dateDisplay.setText("Date: " + i2 + " / " + i1 + " / " + i);
Toast.makeText(getApplicationContext(), "Selected Date:\n" + "Day = " + i2 + "\n" + "Month = " + i1 + "\n" + "Year = " + i, Toast.LENGTH_LONG).show();
}
});
}
}
如何在我的 fragmentTwoonCreate()
函数中应用 Calendar 类?
解决方案
Fragment 中的onCreate()
方法在 Activity 的 onAttachFragment() 之后但在 Fragment 之前调用onCreateView()
。
所以基本上你不能在 onCreate() 中查看东西。
所以你需要添加这两行
Calendar calendar = new Calendar();
calendar.setContentView(R.layout.calendar);
在onCreateView()
链接到文档
推荐阅读
- python - 如何锁定默认选项而不在 DJANGO 中提供任何选项
- java - 重新访问数据库时文件内容不正确
- python - 从 ReacJS 前端到 python FastAPI 应用程序的 CORS 块请求
- mongodb - 项目中的 MongoDB 计数条件与 $eq
- kubernetes - 如何避免对属于 K8s 服务的 pod 的并行请求?
- java - 如何在 Java 中将字节转换为兆位?
- python - Python:使用字符串调用子函数
- javascript - 使用服务工作者在 IndexedDB 中创建存储的困难
- elasticsearch - Elasticsearch 文档搜索相关
- batch-file - 如何将bat转为exe并让exe接收参数?