Caldroid non si aggiorna

Ho messo Caldroid all'interno della mia attività con questo codice nel metodo onCreate .

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); app_font = Typeface.createFromAsset(getAssets(), "custom_font.ttf"); dbHelper = new DatabaseHelper(this); caldroidFragment = new CaldroidFragment(); if (savedInstanceState != null) { caldroidFragment.restoreStatesFromKey(savedInstanceState, "CALDROID_SAVED_STATE"); } else { Bundle args = new Bundle(); args.putInt(CaldroidFragment.MONTH, calendar.get(Calendar.MONTH) + 1); args.putInt(CaldroidFragment.YEAR, calendar.get(Calendar.YEAR)); args.putBoolean(CaldroidFragment.ENABLE_SWIPE, true); args.putBoolean(CaldroidFragment.SIX_WEEKS_IN_CALENDAR, true); args.putInt(CaldroidFragment.START_DAY_OF_WEEK, CaldroidFragment.MONDAY); caldroidFragment.setArguments(args); } FragmentTransaction t = getSupportFragmentManager().beginTransaction(); t.replace(R.id.calendar_holder, caldroidFragment, FRAGMENT_TAG); t.commit(); fragmentMounted = true; CaldroidListener listener = new CaldroidListener() { @Override public void onSelectDate(Date date, View view) { Intent k = new Intent(MainActivity.this, DateActivity.class); k.putExtra(TIME, date.getTime()); MainActivity.this.startActivity(k); } @Override public void onChangeMonth(int month, int year) { if (marker != null) { marker.stopWorking(); } marker = new DateMarker(MainActivity.this, month, year); marker.start(); } @Override public void onLongClickDate(Date date, View view) { // do nothing } @Override public void onCaldroidViewCreated() { // do nothing } }; caldroidFragment.setCaldroidListener(listener); } 

Come si nota, c'è una Thread viene chiamata all'interno dell'ascoltatore each volta che l'utente passa a un altro mese. Questo thread accede al database e contrassegna date che hanno events.

  • Il numero dinamico di colonne del gestore del layout di griglia a scaglionamento
  • ciò che è armeabi e perché lo usano
  • gradiente sul pan di zenzero
  • Come controllare le richieste HTTP effettuate da WebViews
  • installazione di firebase su android
  • Qual è l'Uri per Wearable.DataApi.getDataItem () dopo l'utilizzo di PutDataMapRequest?
  • NOTA: questo è solo un campione interno del codice all'interno del metodo di esecuzione di quel thread.

     // more code above if (MainActivity.dbHelper.getNotesOnDate(date).size() == 0) { activity.runOnUiThread(new Runnable() { @Override public void run() { activity.caldroidFragment.setBackgroundResourceForDate(R.color.SeaGreen, date); activity.caldroidFragment.setTextColorForDate(R.color.white, date); activity.caldroidFragment.refreshView(); } }); } //more code under 

    Inizio un'altra attività per l'utente per accedere, mentre tutto questo viene caricato. Il problema è solo le marcature fatte prima di sostituire il frammento con la vista del titolare nel metodo onCreate . Come posso aggiornare il caldroidFragment dopo caldroidFragment sostituito con il suo supporto? refreshView() sembra non funzionare dopo averlo collocato.

    EDIT : Ho fatto ricerche e noto che Caldroid sta usando il Fragment app V4. Ho provato a staccarlo e ricollegarlo per get l'effetto di aggiornamento, ma ho ottenuto solo NullPointerException mentre provavo a farlo.

  • Cambiare completamente il nome del pacchetto compreso il dominio aziendale
  • Come sapere quando la mia app è stata uccisa?
  • Come utilizzare RoundedBitmapDrawable
  • Imansible trovare la libreria di supporto preferenziale v7 in Eclipse ADT
  • Mobile Vision API - concatenare un nuovo object rivelatore per continuare l'elaborazione del frame
  • Come fare Indeterminate ProgressBar personalizzato
  • One Solution collect form web for “Caldroid non si aggiorna”

    Ho trovato la risposta, non utilizzare la class di Date di Java, non funziona correttamente.

    Utilizza DataTime di Joda. Caldroid funziona bene con esso. Inoltre, ho trovato bug minore nel mio accesso al database, ma avrebbe dovuto funzionare anche se era lì.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.