我正在創建一個應用程式,讓用戶列出學校作業和截止日期。
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.calendar_layout);
mCalendarView = (CalendarView) findViewById(R.id.calendarView);
btnConfirmCal = (Button) findViewById(R.id.confirmCalendar);
et_assignName = (EditText) findViewById(R.id.assignName);
et_assignDesc = (EditText) findViewById(R.id.assignDesc);
mCalendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(@NonNull CalendarView calendarView, int year, int month, int dayOfMonth) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
String selectedDate = sdf.format(new Date(mCalendarView.getDate()));
}
});
btnConfirmCal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
ScheduleList scheduleList = new ScheduleList(et_assignName.getText().toString(),
et_assignDesc.getText().toString(), selectedDate);
Toast.makeText(CalendarActivity.this, scheduleList.toString(), Toast.LENGTH_SHORT).show();
}
catch (Exception e) {
Toast.makeText(CalendarActivity.this, "Error creating schedule", Toast.LENGTH_SHORT).show();
}
}
});
}
在 OnClickListerner 中,“selectedDate”突出顯示為錯誤。有沒有辦法解決這個問題?
uj5u.com熱心網友回復:
將selectedDate在另一個域中定義,所以它不是為OnClickListerner可見。您可以將其移動到 onCreate 方法范圍。
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.calendar_layout);
mCalendarView = (CalendarView) findViewById(R.id.calendarView);
btnConfirmCal = (Button) findViewById(R.id.confirmCalendar);
et_assignName = (EditText) findViewById(R.id.assignName);
et_assignDesc = (EditText) findViewById(R.id.assignDesc);
String selectedDate = "";
mCalendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(@NonNull CalendarView calendarView, int year, int month, int dayOfMonth) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
selectedDate = sdf.format(new Date(mCalendarView.getDate()));
}
});
btnConfirmCal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
ScheduleList scheduleList = new ScheduleList(et_assignName.getText().toString(),
et_assignDesc.getText().toString(), selectedDate);
Toast.makeText(CalendarActivity.this, scheduleList.toString(), Toast.LENGTH_SHORT).show();
}
catch (Exception e) {
Toast.makeText(CalendarActivity.this, "Error creating schedule", Toast.LENGTH_SHORT).show();
}
}
});
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/381941.html
