を削除します。私のテストデータは、元の4つのノードが含まれている場合にこれが正常に動作しますFirebaseノードIは、次のコードでFirebaseから読み取ろうとしてる原因のNullPointerExceptionが
@Override
public void onDataChange(DataSnapshot dataSnapshot){
long value=dataSnapshot.getChildrenCount();
Log.d(TAG,"no of children: "+value);
GenericTypeIndicator<List<POI>> genericTypeIndicator =new GenericTypeIndicator<List<POI>>(){};
List<POI> poiList=dataSnapshot.getValue(genericTypeIndicator);
for(int i=0;i<poiList.size();i++){
Log.d(TAG, "onDataChange: content"+ poiList.get(i).getName());
}
}
。しかし、Firebaseコンソールに入って手動でノードを削除すると、アプリがクラッシュします。奇妙なことは、dataSnapshot.getChildrenCount()
が3を返すということです。削除を認識するように見えますが、dataSnapshot.getValue(genericTypeIndicator)
は、削除されたアイテムが現在nullであるサイズ4のリストを返します。
私は間違っていますか?
コメントは役に立ちません。 [この投稿](https://stackoverflow.com/questions/41501805/delete-an-item-from-firebase-without-crashing-the-app)を参照している場合、それは私の質問とは関係ありません。その質問では、dataSnapshot全体がnullですが、私のケースでは子の1つだけがnullです。 Googleや多数のStackOverflowの投稿ではこの問題について話したことがなかったので、私は質問を投稿しました。私はあなたが悪い一日を過ごしていると仮定し、それがあなたのために回ることを願っています。 – szaske
あなたはあなたの質問で正確に何がnullであるのかを指摘しなかった...とにかく、ええ、私はこの質問について考えていましたが、あなたの質問に答えることができません – Selvin