()オフラインモードがsetPersistenceEnabled(true)
で有効になっているFirebaseDatabase
でデータを取り込む必要があります。 listView
は完全にオンラインモードに設定されていますが、オフラインモードの場合、listView
は、前にオンラインで同期されたlistView
のビューが存在するまで、入力されていません。私は(listView
にはビューはまだありません)オフラインモードでの最初のデータを追加するには、インストール後に非常に最初の時からオフラインモードでアプリケーションを使用する場合、私は意味オフラインのときにonDataChange()が呼び出されていません
は、offline cache
が書き込まれているが、onDataChange
は解雇されていないとその後、アプリケーションがオンラインになると、listView
にはオフラインモードで前に入力したデータが自動的に入力されます。その後、listView
はオフラインモードでも正常に動作しています。
コードです:あなたはこの動作を変更することはできません
private void getAndSetItem(){
FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
DatabaseReference itemReference = firebaseDatabase.getReference().child("groups").child(intent.getStringExtra("groupID"))
.child("items").child(hiddenUserID);
itemReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
ArrayList<Item> itemsArray = new ArrayList<Item>();
for (DataSnapshot snapshot : dataSnapshot.getChildren()){
itemsArray.add(snapshot.getValue(Item.class));
}
ItemExtractor itemExtractor = new ItemExtractor(itemsArray);
CustomAdapterForItemList adapter = new CustomAdapterForItemList(ItemPage.this, itemExtractor.getItemNameList(),
itemExtractor.getItemPriceList(), itemExtractor.getItemQuantity(), itemExtractor.getDate());
listView.setAdapter(adapter);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
ありがとうございます。 –
あなたはNishant Bhaktaを歓迎します!私の答えがあなたを助けたと思うなら、それを受け入れることを検討してください。ありがとう! –
私に教えてください、どうすればこの問題を取り除くことができますか?なにか提案を。私はこれを残すことはできません。 –