通过不同的方法应用 class 日历
Applying class calendar via different method
我正在尝试在我的一个片段中创建 calendar,但我不知道如何将日历 class 调用到 onCreate();在 fragmentTwo.java 中发挥作用。
我试过这个,但我不断收到错误消息:
FATAL ERROR Attempt to invoke virtual method
'android.view.Window$Callback android.view.Window.getCallback()' on a
null object reference
.
fragmentTwo.java:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Calendar calendar = new Calendar();
calendar.setContentView(R.layout.calendar);
}
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();
}
});
}
}
如何在我的 fragmentTwo onCreate()
函数中应用日历 class?
Fragment 中的 onCreate()
方法在 Activity 的 onAttachFragment() 之后但在该 Fragment 的 onCreateView()
.
之前调用
所以基本上你不能在 onCreate() 中查看内容。
所以你需要添加这两行
Calendar calendar = new Calendar();
calendar.setContentView(R.layout.calendar);
在 onCreateView()
Link 到 docs
我正在尝试在我的一个片段中创建 calendar,但我不知道如何将日历 class 调用到 onCreate();在 fragmentTwo.java 中发挥作用。 我试过这个,但我不断收到错误消息:
FATAL ERROR Attempt to invoke virtual method 'android.view.Window$Callback android.view.Window.getCallback()' on a null object reference
.
fragmentTwo.java:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Calendar calendar = new Calendar();
calendar.setContentView(R.layout.calendar);
}
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();
}
});
}
}
如何在我的 fragmentTwo onCreate()
函数中应用日历 class?
Fragment 中的 onCreate()
方法在 Activity 的 onAttachFragment() 之后但在该 Fragment 的 onCreateView()
.
所以基本上你不能在 onCreate() 中查看内容。
所以你需要添加这两行
Calendar calendar = new Calendar();
calendar.setContentView(R.layout.calendar);
在 onCreateView()
Link 到 docs