спиннер выбранный предмет - PullRequest
0 голосов
/ 05 мая 2011

Я часами читаю об этом и до сих пор не понимаю, как это сделать.

Мне удалось заполнить счетчик из курсора, читающего базу данных, и теперь я пытаюсь получить выбранный элемент на счетчике, чтобы помочь заполнить представление списка.

Вот мой код:

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

1 Ответ

0 голосов
/ 05 мая 2011

Если вы хотите извлечь выбранный элемент из базы данных, просто передайте четвертый аргумент onItemSelected (id) в ваш SQL-запрос.Это идентификатор строки записи, он же _ID.

...