Я попытался отобразить данные firebase в spinner и использовать фрагмент . Я хотел бы отобразить cat_Name из Firebase. но после попытки запустить программу ничего не показывает. Но при попытке отобразить подсказку можно увидеть данные.

private void testList() {
databaseKucingKu.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (getActivity() != null) {
try {
ArrayList<String> names = new ArrayList<String>();
for (DataSnapshot catSnapshot : dataSnapshot.getChildren()) {
cat_array.add(catSnapshot.getValue(Cat.class)); }
names.add("Select a cat");
for (int i = 0; i < cat_array.size(); i++) {
names.add(cat_array.get(i).getCat_Name());
}
Toast.makeText(getActivity(), names.toString(), Toast.LENGTH_LONG).show();
ArrayAdapter<String> adapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_spinner_item, names);
adapter.setDropDownViewResource(android.R.layout.simple_list_item_1);
cmbCatlist.setAdapter(adapter);
} catch (Exception e) {
//Toast.makeText(getActivity().getBaseContext(), "There are something wrong with your codes...", Toast.LENGTH_LONG).show();
// Failed to read value
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.e("Error", "Failed to read user", databaseError.toException());
}
});
}
Я вызвал функцию testList()
внутри onCreateView()
:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.customer_booking_fragment_activity, container, false);
btnDatePicker = (Button) view.findViewById(R.id.button7);
btnTimePicker = (Button) view.findViewById(R.id.button8);
btnSubmit= (Button) view.findViewById(R.id.buttonSubmit);
btnClear = (Button) view.findViewById(R.id.buttonSubmit2);
tv = (TextView) view.findViewById(R.id.in_date);
tvt = (TextView) view.findViewById(R.id.in_time);
rd1 = (RadioButton) getActivity().findViewById(R.id.radioButton);
rd2 = (RadioButton) getActivity().findViewById(R.id.radioButton2);
cmbCatlist = (Spinner) getActivity().findViewById(R.id.catlist);
// final ArrayAdapter<String> arrayAdapter= new ArrayAdapter<String>(this ,android.R.layout.simple_list_item_1,arraylist_cat);
databaseKucingKu = FirebaseDatabase.getInstance().getReference().child("Cat");
showTimePickerButton();
showDatePickerButton();
testList();
}
My Cat class
public class Cat {
String Cat_ID;
String Cat_Breed;
String Cat_Colour;
String Cat_Gender;
String CustomerUsername;
String Cat_Name;
public Cat()
{
}
public void setCustomerUsername(String customerUsername) {
CustomerUsername = customerUsername;
}
public void setCat_Name(String cat_Name) {
Cat_Name = cat_Name;
}
public void setCat_ID(String cat_ID) {
Cat_ID = cat_ID;
}
public void setCat_Gender(String cat_Gender) {
Cat_Gender = cat_Gender;
}
public void setCat_Colour(String cat_Colour) {
Cat_Colour = cat_Colour;
}
public void setCat_Breed(String cat_Breed) {
Cat_Breed = cat_Breed;
}
public String getCustomerUsername()
{
return CustomerUsername;
}
public String getCat_ID()
{
return Cat_ID;
}
public String getCat_Breed()
{
return Cat_Breed;
}
public String getCat_Colour() { return Cat_Colour;
}
public String getCat_Gender() {return Cat_Gender;}
public String getCat_Name() { return Cat_Name;}
public String toString()
{
return this.getCat_Name()+this.getCat_ID()+this.getCat_Gender()+this.getCat_Colour()+this.getCat_Breed() ;
}
}