2017-01-24 9 views
1

私はMaterial Calendar Viewライブラリを使用して特定の月を表示しています。この機能を利用するにはsetMinimumDate()setMaximumDate()を使用しました。Androidカレンダーのヘッダーの素材 - カレンダー表示が間違っています

私のXMLコードは次のとおりです。

<com.prolificinteractive.materialcalendarview.MaterialCalendarView 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/calendarView" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    app:mcv_showOtherDates="none" 
    app:mcv_calendarMode="month" 
    app:mcv_firstDayOfWeek="saturday"/> 

Javaコード:

ここ
materialCalendarView.state().edit() 
      .setMinimumDate(CalendarDay.from(2016, 1, 1)) // 1st February, 2016 
      .setMaximumDate(CalendarDay.from(2016, 1, 29)) // 29th February, 2016 
      .commit(); 

カレンダーは2016年2月を表示する必要があります。日付と日付の情報は正しく表示されますが、カレンダーヘッダーには常にが表示され、現在の月と年は(画像が追加されています)です。

Calendar header shows **January 2017**

私はこの問題をどのように修正することができますか?.......

答えて

2

長い研究の後、私は彼らのdocumentationヘッダーセクション)から解決策を得ました。それがベストプラクティスであるかどうか私はわからない

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.fragment_calendar_view, container, false); 

    materialCalendarView = (MaterialCalendarView) view.findViewById(R.id.calendarView); 

    final Calendar firstDate=Calendar.getInstance(); 
    firstDate.set(2016, 1, 1, 0, 0, 0); // 1st February, 2016 
    Calendar lastDate=Calendar.getInstance(); 
    lastDate.set(2016, 1, 29, 0, 0, 0); // 29th February, 2016 

    materialCalendarView.state().edit() 
      .setMinimumDate(firstDate) // 1st February, 2016 
      .setMaximumDate(lastDate) // 29th February, 2016 
      .commit(); 

    materialCalendarView.setTitleFormatter(new TitleFormatter() { 
     @Override 
     public CharSequence format(CalendarDay day) { 

      SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMMM yyyy", Locale.US); //"February 2016" format 

      String monthAndYear = simpleDateFormat.format(firstDate.getTime()); 

      return monthAndYear; 
     } 
    }); 


    materialCalendarView.setOnDateChangedListener(this); 
    materialCalendarView.setOnMonthChangedListener(this); 

    return view; 
} 

が、それは私の問題を解決:

onCreateView()方法は以下の通りです。この問題を解決するもう1つの良いアプローチがある場合は、解決策を提示してください。

-1

がドキュメントで、彼らはその変更が保持されます... 大きな変化1.4を見出しの下島嶼地区などしていないと述べました。 0

+0

so?私は今どうすればいい? –

+0

文書には、彼らは変更が残ることを保証していないと言っています...大きな変更の下1.4.0 – Harmantj

+0

OPの準備のための資料のリンクを掲載してください。 – RBT

関連する問題