Java 如何获取日期时间选择器的值?

Java 如何获取日期时间选择器的值?,java,android,datetime,datetimepicker,Java,Android,Datetime,Datetimepicker,我必须从警报对话框中设置日期从和日期到。我创建了一个新的XML布局来获取日期时间选择器的值。但是,我不知道如何在每个Textview上获得不同的值 MainFragment extends Fragment implements DatePickerDialog.OnDateSetListener, TimePickerDialog.OnTimeSetListener { int day, month, year, hour, minute; int dayFi

我必须从警报对话框中设置日期从和日期到。我创建了一个新的XML布局来获取
日期时间选择器的值。但是,我不知道如何在每个
Textview
上获得不同的值

MainFragment extends Fragment implements
        DatePickerDialog.OnDateSetListener, TimePickerDialog.OnTimeSetListener {

    int day, month, year, hour, minute;
    int dayFinal, monthFinal, yearFinal, hourFinal, minuteFinal;
    String dayFinalString, monthFinalString, yearFinalString, hourFinalString, minuteFinalString;

    TextView et2;

    String dateFrom;
    String Dates, time;

    @Override
    public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
        yearFinal = i;
        monthFinal = i1 + 1;
        dayFinal = i2;

        Calendar c = Calendar.getInstance();
        hour = c.get(Calendar.HOUR_OF_DAY);
        minute = c.get(Calendar.MINUTE);

        Dates = (monthFinal < 10 ? ("0" + monthFinal) : (monthFinal)) + "-" + (dayFinal < 10 ? ("0" + dayFinal) : (dayFinal)) + "-" +  yearFinal ;

        TimePickerDialog timePickerDialog = new TimePickerDialog(_context, this, hour, minute, DateFormat.is24HourFormat(_context));
        timePickerDialog.show();
    }

    @Override
    public void onTimeSet(TimePicker timePicker, int i, int i1) {
        hourFinal = i;
        minuteFinal = i1;

        time = (hourFinal < 10 ? ("0" + hourFinal) : (hourFinal)) + ":" + (minuteFinal < 10 ? ("0" + minuteFinal) : (minuteFinal));



                            //Here I want to set for example
                            et2.setText(Dates + " " + time + ":00");
                            dateFromListFragment = et2.getText().toString();

                            et3.setText(Dates + " " + time + ":00");
                            dateFromListFragment = et3.getText().toString();


    }

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

       ....

            @Override
            public void onClick(View view) {

                final Dialog dialog = new Dialog(getContext());

                dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
                dialog.setContentView(R.layout.date_time);
                dialog.setCancelable(false);

                ImageView close = (ImageView) dialog.findViewById(R.id.close);
                close.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        dialog.dismiss();
                    }
                });

                et2 = (TextView) dialog.findViewById(R.id.editText2);
                et2.setOnClickListener(new View.OnClickListener() {
                    public void onClick(View arg0) {
                        Calendar c = Calendar.getInstance();
                        year = c.get(Calendar.YEAR);
                        month = c.get(Calendar.MONTH);
                        day = c.get(Calendar.DAY_OF_MONTH);

                        DatePickerDialog datePickerDialog = new DatePickerDialog(_context, SnailTrailTwoHrsFragment.this, year, month, day);
                        datePickerDialog.show();

                    }
                });

                final TextView et3 = (TextView) dialog.findViewById(R.id.editText3);
                et3.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        Calendar c = Calendar.getInstance();
                        year = c.get(Calendar.YEAR);
                        month = c.get(Calendar.MONTH);
                        day = c.get(Calendar.DAY_OF_MONTH);

                        DatePickerDialog datePickerDialog = new DatePickerDialog(_context, SnailTrailTwoHrsFragment.this, year, month, day);
                        datePickerDialog.show();

                    }
                });

}
MainFragment扩展了片段实现
DatePickerDialog.OnDateSetListener,TimePickerDialog.OnTimeSetListener{
整数天、月、年、小时、分钟;
国际日决赛、月决赛、年决赛、小时决赛、分钟决赛;
字符串dayFinalString、monthFinalString、yearFinalString、hourFinalString、minuteFinalString;
TextView et2;
字符串dateFrom;
字符串日期、时间;
@凌驾
公共void onDateSet(日期选择器DatePicker、int i、int i1、int i2){
最后一年=i;
monthFinal=i1+1;
dayFinal=i2;
Calendar c=Calendar.getInstance();
小时=c.get(日历小时);
分钟=c.get(日历分钟);
日期=(月底<10?(“0”+月底):(月底))+“-”+(日终<10?(“0”+日终):(日终))+“-”+年终;
TimePickerDialog TimePickerDialog=newtimepickerdialog(_context,this,hour,minute,DateFormat.is24HourFormat(_context));
timePickerDialog.show();
}
@凌驾
public void onTimeSet(计时器选择器计时器选择器,int i,int i1){
hourFinal=i;
minuteFinal=i1;
时间=(hourFinal<10?(“0”+hourFinal:(hourFinal))+“:”+(minuteFinal<10?(“0”+minuteFinal:(minuteFinal));
//这里我想举个例子
et2.setText(日期+时间+:00);
dateFromListFragment=et2.getText().toString();
et3.setText(日期+时间+:00);
dateFromListFragment=et3.getText().toString();
}
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
....
@凌驾
公共void onClick(视图){
最终对话框=新建对话框(getContext());
对话框.requestWindowFeature(窗口.FEATURE\u无\u标题);
setContentView(R.layout.date\u time);
对话框。可设置可取消(false);
ImageView close=(ImageView)dialog.findViewById(R.id.close);
close.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
dialog.dismise();
}
});
et2=(TextView)dialog.findViewById(R.id.editText2);
set2.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图arg0){
Calendar c=Calendar.getInstance();
年份=c.get(日历年);
月=c.get(日历月);
day=c.get(日历,每月的第天);
DatePickerDialog DatePickerDialog=新的DatePickerDialog(_上下文,snailRailTworSfragment.this,year,month,day);
datePickerDialog.show();
}
});
final TextView et3=(TextView)dialog.findViewById(R.id.editText3);
set3.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
Calendar c=Calendar.getInstance();
年份=c.get(日历年);
月=c.get(日历月);
day=c.get(日历,每月的第天);
DatePickerDialog DatePickerDialog=新的DatePickerDialog(_上下文,snailRailTworSfragment.this,year,month,day);
datePickerDialog.show();
}
});
}
这是我的XML

<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="350dp"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:paddingBottom="30dp"
        android:weightSum="1">

        <ImageView
            android:id="@+id/close"
            android:layout_width="35dp"
            android:layout_height="35dp"
            android:layout_alignParentRight="true"
            android:layout_margin="5dp"
            android:layout_marginBottom="15dp"
            android:src="@drawable/close"
            android:textSize="20dp" />

    <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_alignParentEnd="false"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/close"
        android:gravity="right"
        android:paddingLeft="25dp"
        android:paddingRight="0dp" >

        <TextView
            android:id="@+id/textView6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Date From: "></TextView>

        <TextView
            android:id="@+id/editText2"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:ems="10"
            android:paddingTop="25dp"
            android:text="________________________________"
            android:textAllCaps="true"
            android:textColor="@color/colorBlack" />
    </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:orientation="horizontal"
            android:paddingTop="10dp"
            android:id="@+id/linearLayout3"
            android:layout_below="@+id/linearLayout"
            android:layout_marginBottom="25dp"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:paddingLeft="35dp"
            android:paddingRight="0dp" >

            <TextView
                android:id="@+id/textView8"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Date To: " />

            <TextView
                android:id="@+id/editText3"
                android:layout_width="250dp"
                android:layout_height="wrap_content"
                android:ems="10"
                android:paddingTop="25dp"
                android:text="________________________________"
                android:textAllCaps="true"
                android:textColor="@color/colorBlack" />

        </LinearLayout>

        <ImageView
            android:id="@+id/button5"
            android:layout_width="66dp"
            android:layout_height="33dp"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_marginBottom="135dp"
            app:srcCompat="@drawable/next"
            android:layout_below="@+id/linearLayout3" />

    </RelativeLayout>

当我按
datefromtextview
时,我想在对话框中设置
DateTimePicker
,与
datetotextview
相同

MainFragment extends Fragment implements
        DatePickerDialog.OnDateSetListener, TimePickerDialog.OnTimeSetListener {

    int day, month, year, hour, minute;
    int dayFinal, monthFinal, yearFinal, hourFinal, minuteFinal;
    String dayFinalString, monthFinalString, yearFinalString, hourFinalString, minuteFinalString;

    TextView et2;

    String dateFrom;
    String Dates, time;

    @Override
    public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
        yearFinal = i;
        monthFinal = i1 + 1;
        dayFinal = i2;

        Calendar c = Calendar.getInstance();
        hour = c.get(Calendar.HOUR_OF_DAY);
        minute = c.get(Calendar.MINUTE);

        Dates = (monthFinal < 10 ? ("0" + monthFinal) : (monthFinal)) + "-" + (dayFinal < 10 ? ("0" + dayFinal) : (dayFinal)) + "-" +  yearFinal ;

        TimePickerDialog timePickerDialog = new TimePickerDialog(_context, this, hour, minute, DateFormat.is24HourFormat(_context));
        timePickerDialog.show();
    }

    @Override
    public void onTimeSet(TimePicker timePicker, int i, int i1) {
        hourFinal = i;
        minuteFinal = i1;

        time = (hourFinal < 10 ? ("0" + hourFinal) : (hourFinal)) + ":" + (minuteFinal < 10 ? ("0" + minuteFinal) : (minuteFinal));



                            //Here I want to set for example
                            et2.setText(Dates + " " + time + ":00");
                            dateFromListFragment = et2.getText().toString();

                            et3.setText(Dates + " " + time + ":00");
                            dateFromListFragment = et3.getText().toString();


    }

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

       ....

            @Override
            public void onClick(View view) {

                final Dialog dialog = new Dialog(getContext());

                dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
                dialog.setContentView(R.layout.date_time);
                dialog.setCancelable(false);

                ImageView close = (ImageView) dialog.findViewById(R.id.close);
                close.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        dialog.dismiss();
                    }
                });

                et2 = (TextView) dialog.findViewById(R.id.editText2);
                et2.setOnClickListener(new View.OnClickListener() {
                    public void onClick(View arg0) {
                        Calendar c = Calendar.getInstance();
                        year = c.get(Calendar.YEAR);
                        month = c.get(Calendar.MONTH);
                        day = c.get(Calendar.DAY_OF_MONTH);

                        DatePickerDialog datePickerDialog = new DatePickerDialog(_context, SnailTrailTwoHrsFragment.this, year, month, day);
                        datePickerDialog.show();

                    }
                });

                final TextView et3 = (TextView) dialog.findViewById(R.id.editText3);
                et3.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        Calendar c = Calendar.getInstance();
                        year = c.get(Calendar.YEAR);
                        month = c.get(Calendar.MONTH);
                        day = c.get(Calendar.DAY_OF_MONTH);

                        DatePickerDialog datePickerDialog = new DatePickerDialog(_context, SnailTrailTwoHrsFragment.this, year, month, day);
                        datePickerDialog.show();

                    }
                });

}

问题:当我按下
日期从文本视图
时,如何获取?我无法从
日期时间选择器
获取值,并将其设置为
日期从
日期到

相同。一种方法是,当你点击任何文本视图时,你可以将其初始化为全局文本视图,并使用方法
o数据集
和时间集
您可以更新全局文本视图的值,而全局文本视图又会更新您单击的文本。“如何在每个文本视图上以不同方式获取其值。”你想要不同的值,你能详细说明一下吗?我在获取
日期时间选择器
值时遇到问题,请把它放在
textview settext
Hi Satyen上,好吗?在代码上显示答案?谢谢一种方法是,当你点击任何一个textview时,你可以将其初始化为全局textview,并使用
onDateSet方法
onTimeSet
您可以更新全局TextView的值,而全局TextView将更新您单击的值。“如何在每个TextView上以不同方式获取其值。”你想要不同的值,可以详细说明一下吗。我在获取
日期时间选择器
值时遇到问题,请把它放在
textview settext
你好,Satyen,可以吗。在代码上显示答案吗?谢谢这是什么?我需要的是当我单击textview 2或textview 3时,当你u单击数据采集器将在选择日期时打开的任何文本视图。设置为文本视图的日期这是什么?我需要的是,当我单击文本视图2或文本视图3时,它将使用此代码获取其
日期时间采集器的值,wh
 private boolean IsSelectBirthDate = false;
 DateFormat myDateFormat = new SimpleDateFormat("dd-MM-yyyy");
 public final int DATE_PICKER_BIRTHDAY_ID = 112;
 public final int DATE_PICKER_ANNIVERSARY_ID = 113;
 private int myYear;
private int myMonth;
private int myDay;

 myImageViewBirthdate.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                IsSelectBirthDate = true;
                showDialog(DATE_PICKER_BIRTHDAY_ID);
            }
        });

        myImageViewAnniversary.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                IsSelectBirthDate = false;
                showDialog(DATE_PICKER_ANNIVERSARY_ID);
            }
        });

            /////////////////////////////////////////

          @Override
    protected Dialog onCreateDialog(int id) {
        switch (id) {
            case DATE_PICKER_BIRTHDAY_ID: {
                Calendar c = Calendar.getInstance();
                int year = c.get(Calendar.YEAR);
                int month = c.get(Calendar.MONTH);
                int day = c.get(Calendar.DAY_OF_MONTH);
                DatePickerDialog dialog1 = new DatePickerDialog(this, pickerListener, year, month, day);
                dialog1.getDatePicker().setMaxDate(new Date().getTime());
                return dialog1;

            }
            case DATE_PICKER_ANNIVERSARY_ID: {
                Calendar c = Calendar.getInstance();
                int year = c.get(Calendar.YEAR);
                int month = c.get(Calendar.MONTH);
                int day = c.get(Calendar.DAY_OF_MONTH);
                DatePickerDialog dialog2 = new DatePickerDialog(this, pickerListener, year, month, day);
                dialog2.getDatePicker().setMaxDate(new Date().getTime());
                return dialog2;
            }
        }
        return null;
    }

    /////////////////////////////////////////
        private DatePickerDialog.OnDateSetListener pickerListener = new DatePickerDialog.OnDateSetListener() {

        @Override
        public void onDateSet(DatePicker view, int selectedYear,
                              int selectedMonth, int selectedDay) {

            myYear = selectedYear;
            myMonth = selectedMonth;
            myDay = selectedDay;

            Calendar cal = Calendar.getInstance();
            cal.set(Calendar.DAY_OF_MONTH, myDay);
            cal.set(Calendar.MONTH, myMonth);
            cal.set(Calendar.YEAR, myYear);
            Date selectedDate = cal.getTime();

            String strSelectedDate = "";
            try {
                strSelectedDate = myDateFormat.format(selectedDate);
            } catch (Exception e) {
                e.printStackTrace();
            }
            if (IsSelectBirthDate) {
                myEditTextBirthDate.setText(strSelectedDate);
            } else {
                myEditTextAnniversary.setText(strSelectedDate);
            }

        }
    };