Я часами читаю об этом и до сих пор не понимаю, как это сделать.
Мне удалось заполнить счетчик из курсора, читающего базу данных, и теперь я пытаюсь получить выбранный элемент на счетчике, чтобы помочь заполнить представление списка.
Вот мой код:
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 class:
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.
}
}
Тост в этом классе возвращает позицию курсора. Теперь я знаю, что должен сравнить это с базой данных, чтобы получить желаемое значение, но я просто не могу этого сделать. Не могли бы вы помочь мне?
Заранее спасибо.
Edit:
Ребята, вы бы мне помогли?
Мне удалось получить выбранный элемент, реализовав приведенный выше код, но бывает, что просмотр списка заполняется только при запуске приложения. Когда я выбираю что-то на вертушке, ничего не происходит. : |