Я немного борюсь с получением значений из Firebase в мой Spinner. Или проблема в том, когда я использую это в OnDataChange ():
final List<String> values = new ArrayList<String>();
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot dataSnapshot: dataSnapshot.getChildren()) {
values.add(dataSnapshot.getValue(String.class));}}
С этим Spinner:
Spinner spinnerProperty = (Spinner) view.findViewById(R.id.fieldSpinner);
ArrayAdapter<String> fieldsAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, values);
fieldsAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerProperty.setAdapter(fieldsAdapter);
spinnerProperty.setOnItemSelectedListener(newAdapterView.OnItemSelectedListener() {
Я получаю эту картинку, и проблема в том, что она заполняет список, но я ничего не могу выбрать и не могу показать значение по умолчанию. .
Когда я пытаюсь что-то выбрать, отображаются два предупреждения, и ничего не происходит:
W/InputEventReceiver: Attempted to finish an input event but the input event receiver has already been disposed.
W/InputMethodManagerService: Window already focused, ignoring focus gain of
Если я изменяю ArrayList на String Array (таким образом, не добавляя значения из Firebase), он работает совершенно нормально (изменяя поля адаптера, чтобы соответствовать этому). Поэтому мой вопрос, возможно, как я могу это исправить самым простым способом.
Это мои значения Firebase: