5

私は DatePickerDialog を持っています。デフォルト設定では問題なく動作します。

DatePickerDialog dialog = new DatePickerDialog(
    view.getContext(),
    new OnDateSetListener() {

        @Override
        public void onDateSet(DatePicker picker, int year, int monthOfYear, int dayOfMonth) {
            // do something
        }
    },
    startDate.getYear(),
    startDate.getMonth() - 1,
    startDate.getDay()
);

ここに画像の説明を入力

次に、ボタンのテキストを変更します。次のコードで試してみます。

dialog.setButton(DatePickerDialog.BUTTON_POSITIVE, "New Label", new DialogInterface.OnClickListener() {

    public void onClick(DialogInterface dialog, int which) {
        // do something
    }
});

今私の問題は、datepicker コントロールから日付を取得することです。DateSetListener は、ボタンをクリックしても呼び出されません。DateSetListener を介して日付を取得するにはどうすればよいですか? 日付を取得する別の可能性は約です

public void onClick(DialogInterface dialog, int which) {
    int year = ((DatePickerDialog) dialog).getDatePicker().getYear();
    int month = ((DatePickerDialog) dialog).getDatePicker().getMonth();
    int day = ((DatePickerDialog) dialog).getDatePicker().getDayOfMonth();
}

しかし、これは不必要に複雑な方法のようです。

TimePickerDialog の場合、タイムピッカー コントロールを取得する方法が見つからないため、この代替方法は機能しません。したがって、TimeSetListener を使用する必要がありますが、(datepicker のように) 可能性を見つけることができません。

返信ありがとうございます。

4

2 に答える 2