|
30 / 4 / 0
Регистрация: 13.04.2010
Сообщений: 42
|
||||||
Как ограничить количество фотографий, выбираемых из галереи?22.11.2017, 12:41. Показов 4173. Ответов 7
Метки android начинающим (Все метки)
Реализовать выбор фотографий от 1 до 5 из галереи.
От одной - нюанс понятен, код ниже. А вот как ограничить, чтобы не больше 5?
0
|
||||||
| 22.11.2017, 12:41 | |
|
Ответы с готовыми решениями:
7
Android получение фотографий из галереи Ограничение на количество выбираемых записей Как задать количество фотографий в строке? |
|
69 / 62 / 13
Регистрация: 10.01.2012
Сообщений: 508
|
||||||||||||||||
| 23.11.2017, 14:21 | ||||||||||||||||
|
Предполагаю что можно поставить счетчик и передать
Добавить обработку RESULT_FIRST_USER
tтот же счетчик можно всунуть в esultCode == RESULT_OK вместо того что я показал в onActivityResult
0
|
||||||||||||||||
|
30 / 4 / 0
Регистрация: 13.04.2010
Сообщений: 42
|
|
| 23.11.2017, 15:19 [ТС] | |
|
Чото я не понимаю совсем. А можно, плыз, поподробней?
1) Я же в RESULT_OK попадаю, когда юзер выбрал фотки и нажал open, то есть я знаю общее количество выбранных фоток: numberOfImages = imageReturnedIntent.getClipData().getIte mCount(); Как мне тогда применить Counter ? Может есть какой-то "callback" при каждом клике юзера по фотке? 2) А в каких случаях срабатывает FIRST_USER? Я уже думал выдавать Тоаст, что выбрали больше 5 фоток, перезапускать галерею(и это работает, без проблем), но тогда вопрос, как в галерее программно выделить уже выбранные юзером ранее фотки? Сами Uri или path, не важно, выбранных фоток, у меня есть на этот момент, я их вытащил все в том же RESULT_OK. Но именно как, какой функцией, методом программно установить выбор фоток в галерее, зная их Uri или path? Если я совсем вас неверно понял, большой плыз, объясните свою идею подробней, было бы вообще супер, если бы кусок кода. Добавлено через 42 минуты Я, наверное, самое главное не сказал. Галерея стандартная. Может от этого все беды и поэтому весь функционал не удается реализовать?
0
|
|
|
69 / 62 / 13
Регистрация: 10.01.2012
Сообщений: 508
|
|
| 23.11.2017, 18:09 | |
|
Все просто.
В intent.putExtra("counter", ClickCounter) передаем количество уже выбраных, в запущеном активити извекаем его из интенда, сравниваем с числом 5, и если сходится или превышает, тогда отправляем не RESULT_OK, а FIRST_USER. И тогда либо ничего не делаем, либо выводим месагу типа "Перебор дружище ничего больше не получишь", или что другое вытворяем.
0
|
|
|
30 / 4 / 0
Регистрация: 13.04.2010
Сообщений: 42
|
|
| 23.11.2017, 18:20 [ТС] | |
|
Так на момент запуска галереи количество выбранных равно 0. И запущенная галерея - стандартная, из нее особо ничего не извлечешь или я не знаю как. Из нее возвращается Result_OK, количество выбранных и вроде как все.
Как контролировать каждый клик - непонятно, есть подозрение, что никак. Как отметить галачками ранее выбранные фото при повторном запуске - тоже непонятно, тоже скорее всего никак. Может вы рассказываете вариант для самописной галереи? Или я опять чего-то не понимаю?
0
|
|
|
69 / 62 / 13
Регистрация: 10.01.2012
Сообщений: 508
|
|||||||||||
| 23.11.2017, 18:28 | |||||||||||
|
Uri tempUri = выносим чтоб было
в функии будет
дале в акттивити (от которого хотим результат) делаем
0
|
|||||||||||
|
30 / 4 / 0
Регистрация: 13.04.2010
Сообщений: 42
|
|||||||||||
| 23.11.2017, 18:43 [ТС] | |||||||||||
|
Так это же уже OnActivityResult, галерея уже закрыта на момент:
Я ее вызываю так:
0
|
|||||||||||
|
69 / 62 / 13
Регистрация: 10.01.2012
Сообщений: 508
|
|||||||||||
| 23.11.2017, 18:46 | |||||||||||
|
Смотриж
Когда хоть что то выбрал юзер, он же отработает в resultCode == RESULT_OK - Правильно? Тогда там же успешное завершение выбора мы можем зафиксировать Это будет так
Когда дергаем АктивитиФоРезалт посылаем ему текущий счетчик btnChoice.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(); intent.setType("image/*"); intent.putExtra(Intent.EXTRA_ALLOW_MULTI PLE, true); intent.putExtra("counter", ClickCounter); /////// вот он счетчик intent.setAction(Intent.ACTION_GET_CONTE NT); startActivityForResult(Intent.createChoo ser(intent,"Select Picture: 1 - 5"), PICK_IMAGE_MULTIPLE); } }); А в самом АктивитиФоРезалт обрабатываем
0
|
|||||||||||
| 23.11.2017, 18:46 | |
|
Помогаю со студенческими работами здесь
8
Как ограничить количество в MySQL Как ограничить количество выполняемых функций? Как в подзапросе ограничить количество записей? Как ограничить количество членов списка Как ограничить количество подключений к БД AbsoluteDatabase Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|