我创建了不同的片段,并且我的地图上有多个标记,每个标记都有不同的数据。在windowclicklistener上,我想查看我创建的另一个片段的标记数据。我尝试过:
reference = FirebaseDatabase.getInstance().getReference("User");
mMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot postSnapshot:dataSnapshot.getChildren()){
User user = postSnapshot.getValue(User.class);
SharedPreferences.Editor editor = getApplicationContext().getSharedPreferences("PREFS", Context.MODE_PRIVATE).edit();
editor.putString("profileid", user.getUserId());
editor.apply();
((FragmentActivity)getApplicationContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
new ProfileFragment()).commit();
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
});
这给我错误,应用停止运行。我该如何继续?我需要设置一个适配器吗?如果是的话,什么类型的适配器?