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

同一活动中的Android日期选择器片段-2,android,android-fragments,datepicker,Android,Android Fragments,Datepicker,我是一个绝对的初学者,所以我仍然在学习所有的概念。我正在尝试创建一个活动,其中包含两个使用片段的日期选择器。1个用于蜂巢设置日期,1个用于女王生日日期-都在1个活动中,并且都填充单独的编辑文本框。有人能帮我吗?Br Iceni养蜂人。试试更新的答案,它对我有用 public class MainActivity extends AppCompatActivity implements DatePickerDialog.OnDateSetListener { public static

我是一个绝对的初学者,所以我仍然在学习所有的概念。我正在尝试创建一个活动,其中包含两个使用片段的日期选择器。1个用于蜂巢设置日期,1个用于女王生日日期-都在1个活动中,并且都填充单独的编辑文本框。有人能帮我吗?Br Iceni养蜂人。

试试更新的答案,它对我有用

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);
        }

    }


}

感谢您的快速回复,可能是重复的。我已尝试根据您的代码实现2个日期选择器。我对onDateSet有问题。我似乎只有一个方法,所以两个日期选择器都会更新一个EditText框。我如何发布代码?您想要更新两个不同的EditText还是一个EditText?请解释一下。谢谢Sachin,我已经通过电子邮件向你发送了代码。它是两个日期选择器,在布局上填充两个不同的编辑文本框。我正在使用布局中的android:OnClick从每个EditText框调用该方法。@icenibeeekeeper尝试更新的答案