Другой вариант avaialable - использовать значения, переданные в OnItemSelectedListener.
В этом примере используется положение без использования getSelectedItemPosition(): -
// Set Spinner's onItemSelectedListener ie to act when an aisle is selected.
// Note!!! run on post, as a runnable, so that initial onItemSelected event (at initialisation) is not captured.
current_aislelistspinner.post(new Runnable() {
@Override
public void run() {
current_aislelistspinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
currentaislelistcursor.moveToPosition(position);
currentaisleid = currentaislelistcursor.getLong(ShopperDBHelper.AISLES_COLUMN_ID_INDEX);
Log.d(Constants.LOG,"ACTIVITY: " + THIS_ACTIVITY + " SECTION: Running - AISLELIST OnItemSelectedLIstener" +
"- AILSEID Extracted=" + currentaisleid);
currentproductsperaisleecursor = shopperdb.getProductsperAisle(currentaisleid);
current_productsperaislecursoradapter.swapCursor(currentproductsperaisleecursor);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
});
Примечание! так как вышеперечисленное является runnable на событии сообщения счетчика, оно не срабатывает при создании счетчика.