Ich versuche, eine Datumsauswahl und eine Zeitauswahl zu haben, die Dialogfragment erweitert. Ich bin in der Lage, die Datumsauswahl zu erhalten, wenn ich die App ausführen, aber wenn ich die Zeitauswahl hinzugefügt habe, bekomme ich einen Fehler kann Methode DateFormat.is24HourFormat nicht auflösen.Kann Methode Methode DateFormat.is24HourFormat in TimePickerDIalog nicht lösen
Ich verwende Import android.support.v4.app.DialogFragment; nach der Post
TimepickerFragment show() method cannot be resolved
aber das Problem weiterhin besteht nach wie vor
Haupttätigkeit
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;
import java.text.DateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class MainActivity extends AppCompatActivity implements DatePickerDialog.OnDateSetListener, TimePickerDialog.OnTimeSetListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void datePicker(View view) {
DatePickerFragment fragment = new DatePickerFragment();
fragment.show(getSupportFragmentManager(), "date");
}
public void TimePicker(View view) {
TimePickerFragment fragment = new TimePickerFragment();
fragment.show(getSupportFragmentManager(), "time");
}
private void setDate(final GregorianCalendar calendar) {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
final DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM);
((TextView) findViewById(R.id.pic_date)).setText(dateFormat.format(calendar.getTime()));
}
}
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
GregorianCalendar cal = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
cal = new GregorianCalendar(year, month, day);
}
setDate(cal);
}
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Calendar cal = null;
((TextView) findViewById(R.id.start_time)).setText(String.valueOf(hourOfDay)+ String.valueOf(minute));
}
public static class DatePickerFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), (DatePickerDialog.OnDateSetListener) getActivity(), year, month, day);
}
}
public static class TimePickerFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
final Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
// Create a new instance of DatePickerDialog and return it
return new TimePickerDialog(getActivity(), this, hour, minute, DateFormat.is24HourFormat(getActivity()));
}
}
}