Я делаю проект для университета, у меня есть DialogFragment, где я записываю новое животное для базы данных. В форме есть счетчик, который загружается из базы данных. Это «OnCreate» код DialogFragment:Почему мой Spinner пуст?
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
LayoutInflater inflater = getActivity().getLayoutInflater();
View v = inflater.inflate(R.layout.dialog_add_animal, null);
Spinner spEspecies = (Spinner) v.findViewById(R.id.spinner);
Cursor c = getActivity().getContentResolver().query(ContratoBBDD.Especies.URI_CONTENIDO,null,null,null,null);
SimpleCursorAdapter adaptador =
new SimpleCursorAdapter(getActivity().getApplicationContext() ,android.R.layout.simple_spinner_item,c,
new String[]{ContratoBBDD.Especies._id},
new int [] {android.R.id.text1},SimpleCursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER );
Log.d("Tam", c.getCount() + "");
Log.d("Col", c.getColumnCount() + "");
adaptador.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spEspecies.setAdapter(adaptador);
ActionBar actionBar = ((AppCompatActivity) getActivity())
.getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setDefaultDisplayHomeAsUpEnabled(false);
}
Я могу видеть в журнале и отладки, что курсор имеет информацию, как это делает вертушку - но когда я нажимаю на блесны, он пуст. Где я могу потерять информацию?
Не уверен, что можно установить адаптер Spinner как «SimpleCursorAdapter». Сначала попробуйте извлечь данные, поместив их в массив, создав «ArrayAdapter» и установив его как «SpinnerAdapter». Скорее всего, он установит адаптер Spinner непосредственно перед извлечением данных. – CaptJak