Почему Android Spinner onItemSelectedListener имеет два одинаковых параметра - PullRequest
0 голосов
/ 14 сентября 2018

Может ли кто-нибудь объяснить, почему onItemSelected () метод имеет как position , так и id params?

Сначала я прочитал документы и не понял разницы. Затем я попытался просмотреть оба параметра в отладке, и они всегда имеют одинаковые значения. Также я не смог найти ответ в Google на этот вопрос, поэтому мое последнее средство - stackoverflow.

В чем разница между позицией и id ?

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {
        }
    });

1 Ответ

0 голосов
/ 14 сентября 2018

Эти два параметра могут иметь разные значения в зависимости от того, как хранятся базовые данные.Для ArrayAdapter они, вероятно, одинаковы.Однако для CursorAdapter position - это позиция в раскрывающемся списке Spinner, а id - это первичный ключ из таблицы базы данных.

...