如何过滤Firebase数据库并将其添加到Android微调器?

时间:2019-09-22 06:11:01

标签: android firebase-realtime-database

所以我有这个家庭数据库,我想要一个微调列表,并过滤它们而不重复,因为许多人将具有相同的曲线。

告诉我如何显示所有曲线的微调器。 在此之后,我想创建一个新页面,在其中显示我选择的相同curvillag中的所有人。

Spinner spinner;
DatabaseReference databaseReference;
ValueEventListener listener;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


        listener=databaseReference.child("family").addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                final List<String> family=new ArrayList<String>();
                for(DataSnapshot familySnapshot:dataSnapshot.getChildren()){
                    String familyname=familySnapshot.child("curvillage").getValue(String.class);
                }

                Spinner spinner = (Spinner) findViewById(R.id.dataspinner);
                ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_item, family);
                adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                spinner.setAdapter(adapter);

            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });
}

}

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作删除重复的场景,然后将其用于显示列表。

const uniqueCurvillage = [...new Set(family.map(f => {
   return f.curvillage
}))];