2

カレンダービューを使用しています。setOnDateChangeListenerを追加しました

    calendar.setOnDateChangeListener(new OnDateChangeListener() {
        @Override
        public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
            System.err.println(dayOfMonth + ":" + month + ":" + year);

ビューで任意の日を押して他のアクティビティに移動すると機能しますが、現在の日付を押して戻りたい場合、リスナーは機能しません。

ここに画像の説明を入力

4

2 に答える 2

0

日付を変更した場合にのみ機能するため、リスナーはトリガーされません。カレンダービューを拡張する必要があるため、UIでクリックイベントをバインドする必要があります。

于 2012-09-05T07:20:32.570 に答える
0

あなたの質問に正確に答えられないことはわかっていますが、同じ問題があり、カレンダーが常に現在の日付を選択していました。その2番目の問題を回避するために(そして、私の場合は最初の問題を解決するのに役立ちます)、最後に選択した日付をCalendarViewを離れる前に共有設定に保存し、CalendarViewの起動時にそれを取得してからsetDateで設定しました.

long dateInMilliseconds = theDate.getTimeInMillis(); // theDate is a GregorianCalendar
calendar.setDate(dateInMilliseconds); // calendar is a CalendarView
于 2013-09-06T11:38:26.410 に答える