Как отобразить ответ json в Android CalendarView?

У меня есть MaterialCalendarView в приложении для Android, и у меня есть такой ответ json:

{"Table":
[
{"userid":4,"eventname":"Aditya","eventdate":"\/Date(1479974400000-0800)\/","eventcolor":"5986FF","autoid":1011},
{"userid":4,"eventname":"dfgdgdgs","eventdate":"\/Date(1478678400000-0800)\/","eventcolor":"AD3D1F","autoid":1005},
{"userid":4,"eventname":"dfgdgdgs","eventdate":"\/Date(1478678400000-0800)\/","eventcolor":"AD3D1F","autoid":1006}
]
}

Как отобразить этот ответ JSON в моем календаре в соответствующую дату?


person Adi    schedule 29.11.2016    source источник


Ответы (1)


Для полноценного календаря, который прокручивается горизонтально, вы можете использовать эту библиотеку: MaterialCalenderView

используйте эту библиотеку, чтобы получить горизонтальный вид календаря. Вы можете использовать декораторы, чтобы показывать точки под датами, и когда вы нажимаете на нее, вы можете использовать recylerview или что-то еще, чтобы перечислить события.

Найдите декоратор, который вы можете использовать с датами в этой библиотеке.

materialCalendarView.setDateTextAppearance()
materialCalendarView.addDecorator(new OpenSansDecorator(getActivity())); 
materialCalendarView.setHeaderTextAppearance(R.style.TextAppearance_ProfileCalenderHeader);
materialCalendarView.setDateTextAppearance(R.style.TextAppearance_ProfileCalenderCurrentDate);           
materialCalendarView.setWeekDayTextAppearance(R.style.TextAppearance_ProfileCalenderHeader);

стили.xml

<style name="TextAppearance.ProfileCalenderDate" parent="android:TextAppearance">
        <!--<item name="android:textAppearance">?android:attr/textAppearanceMedium</item>-->
        <item name="android:textSize">@dimen/text_size_small</item>
        <item name="android:textColor">@drawable/calender_selection_drawable</item>
    </style>

    <style name="TextAppearance.ProfileCalenderCurrentDate" parent="android:TextAppearance">
        <!--<item name="android:textAppearance">?android:attr/textAppearanceMedium</item>-->
        <item name="android:textSize">@dimen/text_size_small</item>
        <item name="android:textColor">@drawable/calendar_cur_slection_drawable</item>
    </style>
person Victor    schedule 29.11.2016
comment
да, я понял твою идею, но как установить цвета даты, у которых есть события. - person Adi; 29.11.2016
comment
надеюсь ты понял @vicky - person Adi; 29.11.2016
comment
Вы можете использовать разные состояния для установки точек или пользовательского представления (означает пользовательское текстовое представление) для каждой даты, в которой есть события. Я приведу пример, если найду его в своей системе - person Victor; 29.11.2016
comment
обновлен . также проверьте образец из этой библиотеки на github. если это поможет принять ответ. - person Victor; 29.11.2016
comment
Как передать отметку времени, которую я получил от JSON, в приведенном выше коде. - person Adi; 29.11.2016
comment
OpenSansDecorator (getActivity () показывает ошибку @vickey - person Adi; 29.11.2016
comment
Вам нужно написать класс декоратора. проверьте здесь: github.com/prolificinteractive/material-calendarview/tree/ - person Victor; 29.11.2016
comment
Давайте продолжим обсуждение в чате. - person Adi; 29.11.2016
comment
@vicky, как решается эта проблема? у меня такая же проблема - person seon; 23.06.2017
comment
@seon вы можете использовать библиотеку, получить даты, которые вы хотите показать, из json и использовать класс decortaor внутри библиотеки календаря .. пожалуйста, прочитайте ответ - person Victor; 23.06.2017
comment
@Vicky Вики, я в замешательстве. Как дата календаря сопоставляется с JSON, поступающим из Интернета. У вас есть какой-нибудь фрагмент, чтобы решить эту проблему? Кроме того, что указано выше. - person seon; 23.06.2017
comment
Обратитесь к асинхронной задаче в этом классе и свяжите свою логику: github.com/prolificinteractive/material-calendarview/blob/ - person Victor; 23.06.2017