Firebaseのデータを取得したコードがありましたが、機能しましたが何とか機能しなくなりました。 ValueEventListener
のすべては、「No such such instance field: 'mDatabase'」というエラーのためにスキップされます。これをどうすれば解決できますか?私は、Android Studioと私のPCを再起動して試してみましたが、それは...私にFirebase 'そのようなインスタンスフィールドがありません'エラー
コードこのエラーを与え続け:
mDatabase = FirebaseDatabase.getInstance().getReference();
ValueEventListener dataListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// Make list for ReisData objects
reisDataList = new ArrayList<ReisData>();
// Put objects from database into java object list
for (DataSnapshot ds : dataSnapshot.child("allData").getChildren()) {
data = ds.getValue(ReisData.class);
reisDataList.add(data);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Getting data failed, log a message
Log.w("Error:", databaseError.toException());
}
};
mDatabase.addValueEventListener(dataListener);
はEDIT:私は問題を発見したかもしれないと思うが。このコードではreisDataList
の内容を表示するコードを追加しましたが、これはValueEventListener
を妨害するようです。このコードをエラーなしで実行できる方法はありますか?
追加コードは:
MyTripsAdapter myTripsAdapter = new MyTripsAdapter(getContext(), reisDataList);
ListView listView = (ListView) view.findViewById(R.id.mijnReizenList);
listView.setAdapter(myTripsAdapter);*/
だからあなたのコードがコンパイルされていませんか?拡張しますか – Rahul
コードは実行されますが、ValueEventListenerの内容はスキップされます。 – Blank
確認のために1つのことを行い、onDataChange内でデバッグモードでブレークポイントを設定し、firebaseのWebサイトから直接データベースを変更します。 – Rahul