Android Studio中的时间选择器对话框

问题描述 投票:0回答:1

试图解决我的android stuido中的计时器错误。我有2个xml文本视图,其中一个是开始时间,一个是结束时间用户必须选择开始时间和结束时间以填写详细信息我最正确的代码只是无法弄清楚这一行

[如果可能的话,我也想知道它已经在工作,但是对于我的日期选择器,我该如何说“星期五3/04/2020”]

这是我的主要Java类

            public class ChoseSession extends AppCompatActivity implements AdapterView.OnItemSelectedListener
            {


                private static final String TAG = "ChooseSession";
                private TextView displayDate;
                private DatePickerDialog.OnDateSetListener mDateSetListener;

                private TextView displayStartTime;
                private TextView displayFinishTime;
                private  TimePickerDialog.OnTimeSetListener mSTimeSetListener;
                private  TimePickerDialog.OnTimeSetListener mFTimeSetListener;


            //------------------------------------------------------------------------------------------------
                public Button confirmbookingBTN;
                public void returnMain()
                {
                    confirmbookingBTN = (Button)findViewById(R.id.confirmBooking);
                    confirmbookingBTN.setOnClickListener(new View.OnClickListener()
                    {
                        @Override
                        public void onClick(View v)
                        {
                            Intent book = new Intent(ChoseSession.this, Results.class);
                            startActivity(book);
                        }
                    });
                }
            //-----------------------------------------------------------------------------------------------
                @Override
                protected void onCreate(Bundle savedInstanceState)
                {
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.activity_chose_session);
            //-----------------------------------------------------------------------------------------------
                    returnMain();
            //-----------------------------------------------------------------------------------------------
                    displayStartTime = findViewById(R.id.startTimeView);
                    displayFinishTime = findViewById(R.id.finishTimeView);

                    displayStartTime.setOnClickListener(new View.OnClickListener()
                    {
                        @Override
                        public void onClick(View v)
                        {
                            Calendar cal = Calendar.getInstance();
                            int hour = cal.get(Calendar.HOUR);
                            int minute = cal.get(Calendar.MINUTE);
                            TimePickerDialog timedialog = new TimePickerDialog(this, hour, minute, DateFormat.is24HourFormat(getContext())););
                            timedialog.getWindow().setBackgroundDrawable((new ColorDrawable((Color.TRANSPARENT))));
                            timedialog.show();
                        }
                    });

                    displayFinishTime.setOnClickListener(new View.OnClickListener()
                    {
                        @Override
                        public void onClick(View v)
                        {
                            Calendar cal = Calendar.getInstance();
                            int hour = cal.get(Calendar.HOUR);
                            int minute = cal.get(Calendar.MINUTE);
                            TimePickerDialog timedialog = new TimePickerDialog(this, hour, minute, DateFormat.is24HourFormat(getContext())););
                            timedialog.getWindow().setBackgroundDrawable((new ColorDrawable((Color.TRANSPARENT))));
                            timedialog.show();
                        }
                    });

                    mSTimeSetListener = new TimePickerDialog.OnTimeSetListener()
                    {
                        @Override
                        public void onTimeSet(TimePicker view, int hourOfDay, int minute)
                        {
                            displayStartTime.setText((hourOfDay+":"+minute));
                        }
                    };

                    mFTimeSetListener = new TimePickerDialog.OnTimeSetListener()
                    {
                        @Override
                        public void onTimeSet(TimePicker view, int hourOfDay, int minute)
                        {
                            displayFinishTime.setText((hourOfDay+":"+minute));
                        }
                    };





            //-----------------------------------------------------------------------------------------------
                    displayDate = (TextView) findViewById(R.id.dateView);
                    displayDate.setOnClickListener(new View.OnClickListener()
                        {
                            @Override
                            public void onClick(View v)
                            {
                                Calendar cal = Calendar.getInstance();
                                int year = cal.get(Calendar.YEAR);
                                int month = cal.get(Calendar.MONTH);
                                int day = cal.get(Calendar.DAY_OF_MONTH);

                                DatePickerDialog dialog = new DatePickerDialog(ChoseSession.this, android.R.style.Theme_Holo_Light_Dialog_MinWidth, mDateSetListener, year, month, day);
                                dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
                                dialog.show();
                            }
                        });

                    mDateSetListener = new DatePickerDialog.OnDateSetListener()
                    {
                        @Override
                        public void onDateSet(DatePicker view, int y, int m, int d)
                        {
                            m = m + 1;
                            Log.d(TAG, "onDataSet: date: " + y + "/" + m + "/" + d);

                            String date = d+"/"+m+"/"+"/"+y;
                            displayDate.setText(date);
                        }
                    };

            //-----------------------------------------------------------------------------------------------
                    Spinner sSpinner = findViewById(R.id.spinnerSessionChoosing);
                    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.sessionNames, android.R.layout.simple_spinner_item);
                    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                    sSpinner.setAdapter(adapter);
                    sSpinner.setOnItemSelectedListener(this);
            //-----------------------------------------------------------------------------------------------
                }

                private Context getContext()
                {

                }

                @Override
                public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                    String textSession = parent.getItemAtPosition(position).toString();
                    //Toast.makeText(parent.getContext(), textSession, Toast.LENGTH_SHORT).show();
                }

                @Override
                public void onNothingSelected(AdapterView<?> parent)
                {

                }



            //-----------------------------------------------------------------------------------------------
            }

我的XML

            <TextView
                android:id="@+id/finishTimeView"
                android:layout_width="161dp"
                android:layout_height="25dp"
                android:layout_marginEnd="44dp"
                android:layout_marginBottom="99dp"
                android:text="Choose Finish Time"
                android:textAlignment="center"
                android:textColor="#000000"
                android:textSize="18sp"
                app:layout_constraintBottom_toTopOf="@+id/confirmBooking"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toEndOf="@+id/timefinishText"
                app:layout_constraintTop_toBottomOf="@+id/startTimeView" />

            <TextView
                android:id="@+id/startTimeView"
                android:layout_width="161dp"
                android:layout_height="25dp"
                android:layout_marginEnd="44dp"
                android:layout_marginBottom="40dp"
                android:text="Choose Start Time"
                android:textAlignment="center"
                android:textColor="#000000"
                android:textSize="18sp"
                app:layout_constraintBottom_toTopOf="@+id/finishTimeView"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toEndOf="@+id/timestartText"
                app:layout_constraintTop_toBottomOf="@+id/dateView" />
java xml android-studio time
1个回答
0
投票

Java时间对话框的答案

                             displayStartTime = findViewById(R.id.startTimeView);
                    displayFinishTime = findViewById(R.id.finishTimeView);

                    displayStartTime.setOnClickListener(new View.OnClickListener()
                    {
                        @Override
                        public void onClick(View v)
                        {
                            Calendar cal = Calendar.getInstance();
                            final int hour = cal.get(Calendar.HOUR_OF_DAY);
                            final int min = cal.get(Calendar.MINUTE);

                            TimePickerDialog sTimePickerDialog = new TimePickerDialog(tContext, new TimePickerDialog.OnTimeSetListener()
                            {
                                @Override
                                public void onTimeSet(TimePicker view, int hourOfDay, int minute)
                                {
                                    displayStartTime.setText(hourOfDay+":"+minute);
                                }
                            },hour, min, android.text.format.DateFormat.is24HourFormat(tContext));
                            sTimePickerDialog.show();
                        }
                    });

                    displayFinishTime.setOnClickListener(new View.OnClickListener()
                    {
                        @Override
                        public void onClick(View v)
                        {
                            Calendar cal = Calendar.getInstance();
                            final int hour = cal.get(Calendar.HOUR_OF_DAY);
                            final int min = cal.get(Calendar.MINUTE);

                            TimePickerDialog fTimePickerDialog = new TimePickerDialog(tContext, new TimePickerDialog.OnTimeSetListener()
                            {
                                @Override
                                public void onTimeSet(TimePicker view, int hourOfDay, int minute)
                                {
                                    displayFinishTime.setText(hourOfDay+":"+minute);
                                }
                            },hour, min, android.text.format.DateFormat.is24HourFormat(tContext));
                            fTimePickerDialog.show();
                        }
                    });
© www.soinside.com 2019 - 2024. All rights reserved.