【发布时间】:2021-05-29 13:31:05
【问题描述】:
所以伙计们,我正在尝试为我的微调器实现 OnItemSelectedListener。 数据从火力库中检索并添加到数组列表中,我添加到adatper中的数组列表
//spinner stufff
//variables:
Spinner schoolNamesSpinner;
DatabaseReference databaseReference;
ArrayList<String> instituteNames;
ArrayAdapter<String> adapter;
adapter = new ArrayAdapter<>(studentsLogIn.this,
android.R.layout.simple_spinner_dropdown_item, instituteNames);
schoolNamesSpinner.setAdapter(adapter);
adapter.notifyDataSetChanged();
**// populating selector;**
populatingSelecto();
填充微调器 enter image description here
**// populating selector**
private void populatingSelecto() {
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
if (snapshot.exists()) {
for (DataSnapshot ids : snapshot.getChildren()) {
uniqIds.add(ids.getKey());
}
for (int i = 0; i < uniqIds.size(); i++) {
databaseReference.child(uniqIds.get(i)).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
if (snapshot.exists()) {
String name = snapshot.child("INSTITUTE").child("institutionName").
getValue().toString();
instituteNames.add(name);
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
} else {
dialogboxMeathod(studentsLogIn.this, "No Institutes on the Record");
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
所以,在所选项目上,我试图显示所选项目的文本,但它不起作用
schoolNamesSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(studentsLogIn.this, instituteNames.get(position), Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
【问题讨论】:
标签: android firebase firebase-realtime-database spinner onitemselectedlistener