つまり、基本的に私が達成しようとしているのは、Gallery
Androidでを開いてユーザーに選択させることですmultiple images
。今、この質問が寄せられています頻繁にしかし、私はその答えに満足していません。主な理由は、IDE のドキュメントで興味深いものを見つけたためです (これについては後で説明します)。そのため、カスタム アダプターではなく、標準のアダプターだけを使いたいのです。
1 つの画像を選択するためのコードは次のとおりです。
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"Select Picture"), 1);
SO や他の Web サイトのユーザーは、2 つのオプションがあると言っています。
ACTION_GET_CONTENT
1) 代わりに、使用しないでくださいACTION_SEND_MULTIPLE
。
これは機能しません。これは、sending
ファイルのドキュメントに従っており、そうではなくretrieving
、まさにそのとおりです。ACTION_SEND_MULTIPLE を使用すると、デバイスでウィンドウが開き、データの送信先のアプリケーションを選択する必要があります。これは私が望んでいることではありません。そのため、このソリューションでこれをどのように実現したのか疑問に思います。何か見落としているのでしょうか?
2) を実装しますcustom Gallery
。これが私が検討する最後のオプションです。個人的には、これは私が探しているものではないと思います。自分でスタイルを設定する必要があり、なぜバニラ ギャラリーで複数の画像を選択できないのでしょうか?
これにはオプションがあるはずです。今、私が見つけた興味深いことは次のとおりです。
私は のドキュメントの説明でこれを見つけましたACTION_GET_CONTENT
。
呼び出し元が返された複数の項目を処理できる場合 (ユーザーが複数選択を実行する場合)、これを示すために EXTRA_ALLOW_MULTIPLE を指定できます。
これはかなり興味深いですね。ここでは、ユーザーが複数の項目を選択できるユースケースについて言及しているのでしょうか?
後でドキュメントでこう言っています:
ユーザーが複数の項目を選択できるようにするには、EXTRA_ALLOW_MULTIPLE を使用します。
これはかなり明白ですよね?これが私が必要としているものです。しかし、私の次の質問は、これをどこに置けばいいのかということです。EXTRA_ALLOW_MULTIPLE
悲しいことに、どこにもこれを見つけることができません開発者向け Android ガイドまた、これは INTENT クラスで定数として定義されていません。
誰かこれについて私を助けてくれませんかEXTRA_ALLOW_MULTIPLE
?
ベストアンサー1
EXTRA_ALLOW_MULTIPLE オプションは、Intent.putExtra() メソッドを通じてインテントに対して設定されます。
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
上記のコードは次のようになります。
Intent intent = new Intent();
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"Select Picture"), 1);
注: このEXTRA_ALLOW_MULTIPLE
オプションは Android API 18 以降でのみ使用できます。