Я читал материал об этом в течение нескольких часов и до сих пор не понял, как это сделать.
Мне удалось заполнить счетчик из курсора, читающего базу данных, и теперь я пытаюсь получить выбранный элемент на счетчике, чтобы помочь заполнить список.
Вот мой код:
Cursor cursorpf = DatabaseHelper.getPFunc();
startManagingCursor(cursorpf);
Spinner spinnerpf = (Spinner) findViewById(R.id.spinner1);
String[] frompf = new String[] { "Designacao" };
int[] topf = new int[] { android.R.id.text1 };
SimpleCursorAdapter scaPFunc = new SimpleCursorAdapter(this,
android.R.layout.simple_spinner_item, cursorpf, frompf, topf);
scaPFunc
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerpf.setAdapter(scaPFunc);
spinnerpf.setOnItemSelectedListener(new MyOnItemSelectedListener());
final String stringpf = MyOnItemSelectedListener.getSelected();
long id = spinnerpf.getSelectedItemId();
String stringpf = String.valueOf(id);
DatabaseHelper.setPF(stringpf);
Класс MyOnItemSelectedListener:
public class MyOnItemSelectedListener implements OnItemSelectedListener {
private static String selected = "";
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
selected = String.valueOf(id);
Toast.makeText(parent.getContext(), "Escolha: " + selected, Toast.LENGTH_LONG).show();
}
@SuppressWarnings("unchecked")
public void onNothingSelected(AdapterView parent) {
// Do nothing.
}
}
Тост этого класса возвращает позицию курсора. Теперь я знаю, что должен сравнить его с базой данных, чтобы получить желаемое значение, но я просто не могу этого сделать. Не могли бы вы мне помочь?
Заранее спасибо.
Редактировать: Ребята, не могли бы вы мне помочь? Мне удалось получить выбранный элемент, внедрив приведенный выше код, но бывает, что список заполняется только при запуске приложения. Когда я выбираю что-то на счетчике, ничего не происходит. :|