View.getId () возвращает неверный идентификатор в OnItemClickListener

В моем приложении у меня есть Галерея с некоторыми изображениями в ней. Когда пользователь выбирает изображение, я хочу каким-то образом получить идентификатор выбранного изображения.

Int, возвращаемый функцией getId (), равен -1. Почему я не получаю идентификатор системы для выбранного изображения?

gallery.setOnItemClickListener(new OnItemClickListener() { @SuppressWarnings("rawtypes") @Override public void onItemClick(AdapterView parent, View v, int position, long id) { int imageId = v.getId(); } }); 

Благодаря!

использовать это

 public void onItemClick(AdapterView<?> parent, View v, int position, long id) { int imageId = (( ImageAdapter)parent.getAdapter()).mygetItemId(position); } }); 

В классе адаптера добавьте эту функцию

 public long getItemId(int position) { return imagearray[position]; } 

Используйте OnItemSelectedListener вместо OnItemClickListener

  gallery.setOnItemSelectedListener(new OnItemSelectedListener(){ @Override public void onItemSelected(AdapterView<?> parent, View view,int pos, long id){ // TODO Auto-generated method stub } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } }); 
Intereting Posts
В чем разница между начальным / конечным маржем Android и правым / левым? Есть ли способ использовать функции в Android 2.1 / 2.2, сохраняя версию minSDK до 3? JavaCV – визуализация поверхности GL Получить историю транзакций с Android Pay через API? Android Render и Physics на отдельные темы? Просмотр файловой системы Raspberry Pi от android через Bluetooth Применение стиля звезды к флажку на Android Обработка столкновений в Bullet через файлы .g3db Как сделать верхний или нижний колонтитул ListView недоступным для просмотра Как изменить значок навигации по умолчанию для Android по умолчанию Мощность обработки – мобильные устройства против рабочего стола – разница в 100 раз? Возможно отображать анимированное изображение gif в эмуляторе. Использование phoneGap Кнопки Dialog с длинным текстом, не обертывающим / выжатым – материальная тема на android 5.0 lollipop Есть ли простой способ «дезактивировать протоколирование» до выпуска вашего приложения на рынок? Как установить порядок сборки библиотеки в градиенте?