I have this code here on the options menu
Dialog dialog = new Dialog(ScheduleActivity.this);
dialog.setTitle(\"Add Event\");
dialog.setContentView(R.layout.
Use it like this in Koltin
DatePickerDialog(this as Activity, DatePickerDialog.OnDateSetListener { p0, y, m, _ -> func.invoke(y, m + 1) }, c.get(Calendar.YEAR),
c.get(Calendar.MONTH),
c.get(Calendar.DAY_OF_MONTH))
.show()
Use it from anywhere
tvDateFrom.click {
showDatePicker(c) { y, m ->
Utils.debugger("DATE FROM ", " y + $y m $m")
tvDateFrom.text = "$m-$y".toDate()
}
}
Old dialogs are deprecated. Implements fragments:
Migrate your Activity to Fragment Activity:
public class YourActivity extends FragmentActivity
Create Fragment Dialog:
public class TimePickerFragment extends DialogFragment {
private OnDateSetListener listener;
public TimePickerFragment(OnDateSetListener listener) {
this.listener=listener;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current time as the default values for 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 TimePickerDialog and return it
return new DatePickerDialog(getActivity(), listener, year,month,day);
}
}
Implements interface (package: import android.app.DatePickerDialog.OnDateSetListener):
public class YourActivity extends FragmentActivity implements OnDateSetListener{
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
}
}
Add showDialog function:
public class YourActivity extends FragmentActivity implements OnDateSetListener{
showDateDialog(){
FragmentManager fm = getSupportFragmentManager();
TimePickerFragment newFragment = new TimePickerFragment(this);
newFragment.show(fm, "date_picker");
}
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
}
}