Спасибо за ответы, но, тем не менее, я хочу поделиться с вами решением, которое я использовал после поиска дополнительных ссылок:
Вместо того, чтобы просто реализовывать SpinnerAdapter в своем адаптере, я расширяю BaseAdapter и реализую SpinnerAdapter:
private class ListAdapter extends BaseAdapter implements SpinnerAdapter {
@Override
public int getCount() {
return allLists.size();
}
@Override
public Object getItem(int position) {
return allLists.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
TextView text = new TextView(lexs);
text.setText(allLists.get(position).getName());
return text;
}
}
Тогда нет необходимости переопределять все эти странные методы, такие как isEmpty (), registerDataObserver () и т. Д.
И при необходимости можно переопределить getDropDownView (...)
Кроме того, используя это решение, можно вызвать adapter.notifyDatasetChanged (), что не так просто, если адаптер просто реализует SpinnerAdapter и не расширяет BaseAdapter.