Firebaseからデータを取得し、このデータをカスタマイズされたInfoWindow内に表示しようとしています。ここに私のコードは次のとおりです。MapのInfoWindowはFirbase addValueEventListenerに更新されません
map.setInfoWindowAdapter(new GoogleMap.InfoWindowAdapter(){
@Override
public View getInfoWindow(Marker marker) {
return null;
}
@Override
public View getInfoContents(Marker marker) {
View v = getActivity().getLayoutInflater().inflate(R.layout.info_window, null);
final TextView tv = (TextView) v.findViewById(R.id.textView);
final TextView tv2 = (TextView) v.findViewById(R.id.textView2);
nRef = new Firebase("https://mydatabase-98057.firebaseio.com/Object");
nRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
System.out.println("hello : "+dataSnapshot.toString());
tv.setText("Spots available : "+dataSnapshot.toString());
tv2.setText("Spots available : "+dataSnapshot.toString());
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
return v;
}
});
このコードは無効onMapReady(GoogleMap googleMap)
メソッドの内部にあります。
事実、System.out.println()はFirebaseのデータを表示しますが、TextViewには表示されません。表示されるテキストは「TextView」です(デフォルトではテキストは、データベースから取得している新しい情報に変更されません。setTextが実行されなかったかのようなものです...)
私が間違っていることはありますか? お手伝いができれば本当にありがとう。ありがとう。