根据标记infowindowclicklistener从数据库中检索数据

时间:2019-10-27 07:59:50

标签: android

我创建了不同的片段,并且我的地图上有多个标记,每个标记都有不同的数据。在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) {

                        }
                    });
                }
            });

这给我错误,应用停止运行。我该如何继续?我需要设置一个适配器吗?如果是的话,什么类型的适配器?

0 个答案:

没有答案