Android日期选择器片段 - 同一活动中的2

时间:2017-04-14 08:12:11

标签: android android-fragments datepicker

我是一个绝对的初学者,所以我还在学习所有的概念。我尝试使用片段创建一个带有2个日期选择器的活动。 1表示配置单元设置日期,1表示女王的生日日期 - 1个活动和两个单独的EditText框。有人可以帮我吗? Br Iceni Beekeeper。

1 个答案:

答案 0 :(得分:0)

尝试更新回答它适合我

public class MainActivity extends AppCompatActivity implements DatePickerDialog.OnDateSetListener {


    public static final String LOGTAG = "APIARYMANAGER";
    private static final String TAG = MainActivity.class.getSimpleName();
    private static String DATEPICKER_TAG = "";


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }


    public void datePickerHiveSetupDate(View view) {

        DatePickerFragmentSetupDate fragment = new DatePickerFragmentSetupDate();
        fragment.show(getSupportFragmentManager(), "date1");
    }

    public void setHiveQueenBirthdayDate(View view) {

        DatePickerFragmentQueenBDayDate fragment = new DatePickerFragmentQueenBDayDate();

        fragment.show(getSupportFragmentManager(), "date2");
    }


    @Override
    public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {

        Calendar cal = new GregorianCalendar(year, month, dayOfMonth);

        if (DATEPICKER_TAG.trim().equals("SETUP_DATE"))
            setHiveSetupDate(cal);
        else
            setHiveQBDayDate(cal);


    }

    public void setHiveSetupDate(final Calendar calendar) {

        final DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.SHORT, Locale.UK);
        ((TextView) findViewById(R.id.editTextHiveSetupDate)).setText(dateFormat.format(calendar.getTime()));
    }

    public void setHiveQBDayDate(final Calendar calendar) {

        final DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.SHORT, Locale.UK);
        ((TextView) findViewById(R.id.editTextHiveQueenBirthday)).setText(dateFormat.format(calendar.getTime()));
    }


    public static class DatePickerFragmentSetupDate extends DialogFragment {
        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
            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);
            DATEPICKER_TAG = "SETUP_DATE";
            return new DatePickerDialog(getActivity(),
                    (DatePickerDialog.OnDateSetListener) getActivity(), year, month, day);
        }


    }


    public static class DatePickerFragmentQueenBDayDate extends DialogFragment {
        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
            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);
            DATEPICKER_TAG = "SETUP_QUEEN_DATE";
            return new DatePickerDialog(getActivity(),
                    (DatePickerDialog.OnDateSetListener) getActivity(), year, month, day);
        }

    }


}