web-dev-qa-db-ja.com

Android画像ピッカーギャラリーから複数の画像を選択します。最大数は5です。

ユーザーが複数の画像を選択してどこかに送信できるようにする必要があるアプリがあります。ただし、一度に送信できる画像は5つだけです。画像ピッカーを使用してギャラリーから選択できる画像の数を制限できるようにする必要があります。

単一の文でそれを置くには:ユーザーがギャラリーからデフォルトの画像セレクターで選択できる画像/写真の数を制限したい

これが、画像ピッカーに使用しているコードです。

Intent chooseIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
chooseIntent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
startActivityForResult(chooseIntent, 2);

デフォルトで上部で選択されている画像の数をすでに追跡しています。

上限を設定する方法はありますか?ユーザーが最大5つの画像しか選択できないようにする。

15
Alex K

デフォルトで上部で選択されている画像の数をすでに追跡しています。

その特定のデバイスでは、おそらく。何千ものAndroidデバイスモデルがあり、メーカーは独自のUIをセットアップして、ストックアプリのUIを置き換えることを理解してください。すべてのデバイスがアクションバーにカウントを表示すると想定しないでください。

上限を設定する方法はありますか?ユーザーが最大5つの画像しか選択できないようにする。

ACTION_PICK経由ではありません。 ACTION_PICKEXTRA_ALLOW_MULTIPLEをサポートするようにドキュメント化されていないため、そのIntentを複数選択できないデバイスがある可能性があります。 EXTRA_ALLOW_MULTIPLEがプロトコルの一部であるIntentアクション(例:ACTION_GET_CONTENT)でも、最大数を制御するための追加機能はありません。

MediaStoreのクエリ結果に基づいて独自の画像選択UIを作成し、独自の制限を設定することができます。 いくつかの画像ピッカーライブラリ もあり、そのうちの1つはすでにこの機能を提供している可能性があります。

17
CommonsWare