所以我有这个家庭数据库,我想要一个微调列表,并过滤它们而不重复,因为许多人将具有相同的曲线。
告诉我如何显示所有曲线的微调器。 在此之后,我想创建一个新页面,在其中显示我选择的相同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) {
}
});
}
}
答案 0 :(得分:1)
您可以执行以下操作删除重复的场景,然后将其用于显示列表。
const uniqueCurvillage = [...new Set(family.map(f => {
return f.curvillage
}))];