我正在努力地将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 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添加值),则它的工作完全正常(更改fieldsAdapter以适应此情况)。因此,我的问题可能是如何解决这一最简单的方法。