iT邦幫忙

2023 iThome 鐵人賽

DAY 11
0
Mobile Development

Android Studio初學系列 第 11

Android Studio初學 DAY11 DatePicker

  • 分享至 

  • xImage
  •  

DatePicker是日期選擇器,相信大家在使用手機一定不陌生,日期選擇器可以在特定的日子提醒你要做的事情,馬上來看看要怎麼使用
先做個簡單的佈局,這邊我是放一個button+editext來做示範

 <EditText
        android:id="@+id/editTextText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="236dp"
        android:layout_marginEnd="48dp"
        android:ems="10"
        android:inputType="text"
        app:layout_constraintEnd_toStartOf="@+id/button"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="236dp"
        android:layout_marginEnd="32dp"
        android:text="日期選擇"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

接著來看看程式碼

public class MainActivity extends AppCompatActivity {
    private Button button;
    private EditText editText;
    private DatePickerDialog.OnDateSetListener dateSetListener;
    private Calendar calendar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = findViewById(R.id.button);
        editText = findViewById(R.id.editTextText);
        calendar = Calendar.getInstance();

        // 創建一個日期選擇對話框的監聽器
        dateSetListener = new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker datePicker, int year, int month, int day) {
                // 選擇日期時,更新日曆對象
                calendar.set(Calendar.YEAR, year);
                calendar.set(Calendar.MONTH, month);
                calendar.set(Calendar.DAY_OF_MONTH, day);

                // 設置日期的顯示格式
                String dateFormat = "yyyy/MM/dd";
                SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormat, Locale.TAIWAN);

                // 在EditText中顯示所選日期
                editText.setText(simpleDateFormat.format(calendar.getTime()));
            }
        };

        // 點擊button時,顯示選擇日期的對話框
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this,
                        dateSetListener, calendar.get(Calendar.YEAR),
                        calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH));

                datePickerDialog.show();
            }
        });
    }
}

成果如下


上一篇
Android Studio初學 DAY10 Log
下一篇
Android Studio初學 DAY12 Intent
系列文
Android Studio初學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言