Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 安卓如何在点击按钮时在datepicker中显示年份优先_Java_Android - Fatal编程技术网

Java 安卓如何在点击按钮时在datepicker中显示年份优先

Java 安卓如何在点击按钮时在datepicker中显示年份优先,java,android,Java,Android,选择要选择日期的年份后单击按钮时,我想在datepicker中显示年份。您只需使用以下代码即可实现此目的 datepickerLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { final Calendar calendar = Calendar.getInstance(); int yy = calend

选择要选择日期的年份后单击按钮时,我想在datepicker中显示年份。

您只需使用以下代码即可实现此目的

datepickerLayout.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View arg0) {
        final Calendar calendar = Calendar.getInstance();
        int yy = calendar.get(Calendar.YEAR);
        int mm = calendar.get(Calendar.MONTH);
        int dd = calendar.get(Calendar.DAY_OF_MONTH);

       DatePickerDialog datePickerDialog = new DatePickerDialog(getContext(),new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {

                datePickerDialog.getTouchables().get(0).performClick();

                String strdate=year+"-"+(monthOfYear+1)+"-"+dayOfMonth;
            }
        }, yy, mm, dd);
        datePickerDialog.getDatePicker().setMinDate(calendar.getTimeInMillis());
        datePickerDialog.show();
    }
});
使用下面的类打开对话框

 DatePickerDialog dialog = new DatePickerDialog(getActivity(), this, year, month, day);
 dialog.getDatePicker().getTouchables().get( 0 ).performClick();
在该按钮中,单击CreateUpper类实例并调用ShowMethod

public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
OnDateOfBirthSelection registrationIIFragment;

@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
    DatePickerDialog abc = new DatePickerDialog(getActivity(), this, year, month, day);
    //18 Years =568,025,136,000 Milliseconds
    double diff = System.currentTimeMillis() - 568025136000.0;
    abc.getDatePicker().setMaxDate((long) diff);
    abc.getDatePicker().getTouchables().get( 0 ).performClick();
    return abc;
}

public void onDateSet(DatePicker view, int year, int month, int day) {
    // Do something with the date chosen by the user
    //  tv1.setText("Year: "+view.getYear()+" Month: "+view.getMonth()+" Day: "+view.getDayOfMonth());
    registrationIIFragment.onDateOfBirthSelected(view.getDayOfMonth() + " - " + (view.getMonth() + 1) + " - " + view.getYear());
}

public void setCallbackListener(OnDateOfBirthSelection registrationIIFragment) {
    this.registrationIIFragment = registrationIIFragment;
}

public interface OnDateOfBirthSelection {
    public void onDateOfBirthSelected(String s);
}  }
上面的代码将显示输出,如下图所示


希望这会有所帮助,谢谢

datePickerDialog.getDatePicker().getTouchables().get(0.performClick();您只需要添加此行datePickerDialog.getDatePicker().getTouchables().get(0.performClick();在datePickerDialog.show()之前;我也尝试了datePickerDialog.getDatePicker().getTouchables().get(0.performClick();datePickerDialog.getDatePicker().setMinDate(calendar.getTimeInMillis());datePickerDialog.show();请使用下面的类打开datepicker对话框这里是codeokay然后使用newFragment.show(getSupportFragmentManager(),“datepicker”);
 DatePickerFragment newFragment = new DatePickerFragment();
            newFragment.setCallbackListener(this);
            newFragment.show(getSupportFragmentManager(), "datePicker");