那麼它似乎我堅持之前再等待數據。我有我的一半小部件的工作和我認爲我知道爲什麼它的失敗,但我不知道如何解決它。件服務不試圖填充集合
在我的窗件服務類,在onDataSetChanged()方法,我打個電話,讓我的數據(異步)。但系統在加載數據之前調用getCount(),因此大小返回0,從不調用getViewAt()。
如果我創建內部onDataSetChanged一些假數據(),而不是調用擺脫火力地堡的真實數據,然後它會顯示就好了。所以我知道它除此之外的作用。
我已經嘗試了各種各樣的事情來讓它工作,但沒有運氣。我不想把這個問題變成一個很長的問題,所以我會盡量保持簡單。 我的問題是系統如何知道數據何時準備好?似乎沒有要,我可以打電話通知它的數據是現在有一種方法。
我可能是完全錯誤的,但我認爲這就是問題所在。 onDataSetChanged()方法不會等待,我無法告訴它。
是什麼使這更混亂的是,在我用它的實際工作假的靜態數據,甚至與異步調用的應用程序的我mockDebug版本。我的結論是,它必須加載得太快,以至於getCount()被調用時就已經準備好了。但更令人困惑的是,在短時間內它也在prodDebug版本中工作,然後沒有,也從此沒有。據我所知,在那段時間我沒有改變任何東西。無論如何,這是我能夠想出的唯一解釋。原因是因爲我可以看到使用調試器或日誌記錄,在從Firebase獲取數據時加載數據之前調用getCount(),導致數據加載失敗,但是如果使用靜態數據加載數據後調用getCount ,讓它成功。
如何使它等待?還是有什麼我可能做錯了?
謝謝。
簡單地轉換要通過使用GSON意圖JSON對象,Parcelable和Serialiable對象行事出人意料 沒有合乎邏輯的理由有時 –
是啊,這可能是一個替代的對象以一個byte [],但我無論如何也使用此解決方案。感謝您的想法。 –