簡體   English   中英

Android 工作室中的時間選擇器對話框

[英]Time Picker Dialog in Android studio

試圖解決我在 android stuido 中的計時器錯誤。 我有 2 個 xml 文本視圖,其中一個是開始時間,一個是結束時間,用戶必須選擇開始和結束時間來填寫詳細信息我的代碼最正確只是無法弄清楚這一行

如果可能的話,我還想知道它已經在工作,但是對於我的日期選擇器,我該怎么說“2020 年 3 月 4 日星期五”

這是我的主要 java class

            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 時間對話框的答案

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM