こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

解決済みの質問

android画像表示プログラム

androidで写真画像を表示するプログラムを作成したいと思っています。
出来るだけ簡単にしたいので、ギャラリー等標準のアプリを利用したいのですが、思うような動きになりません。

以下のようなコードでは、アプリ選択でギャラリーやメディアビューアを選択後、該当画像が表示されますが、それ以外の画像にスクロールさせることが出来ません。
(ファイルを指定しているので当然かも知れませんが)

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
String fileName = "file:///storage/emulated/0/DCIM/2015_12_27_150748.jpg";
intent.setDataAndType(Uri.parse(fileName), "image/*");
startActivityForResult(intent, buttonNo2);

やりたいことは、この画像が最初に表示されるけど、他の画像も見れるようにしたいと思っています。
(ギャラリーで画像を指定(1枚表示)後に、スクロールすると他の画像が見れるの状態のことです)

以下の場合は、フォルダを指定しないので、手動でファイルを選択することになったしまいます。

Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent, buttonNo1);

指定フォルダの指定ファイルを最初に表示させるようなことは可能なのでしょうか?
androidプログラムを作り始めたばかりで良く分からないので、ご教授願えればと思います。

投稿日時 - 2016-01-05 18:10:52

QNo.9106552

すぐに回答ほしいです

質問者が選んだベストアンサー

暗黙的Intentで呼び出す場合はその要求したActionに対して受付可能なアプリが受け取り、動作自体は呼び出されたアプリに任せる事になりますので、実現したい動きが限定的であるならば自前のアプリで実装するしかないと思います。

>指定フォルダの指定ファイルを最初に表示させるようなことは可能なのでしょうか?
私の知識としてはそういったものは無いですね。
画像ではなくファイルとして開くという暗黙的Intentはあったと思うので、それを投げればそれを受け取れるギャラリーアプリによっては出来るかもしれませんが、ファイラーアプリも反応してしまうかと思います。
いずれにせよ環境に依存してしまうので自前で用意するのをお勧めします

投稿日時 - 2016-01-06 10:51:41

お礼

情報ありがとうございました。
標準機能を利用しようと思っていましたが、教えて頂いたように、自分で画像表示機能を作成することにして、どうにか出来ました。
自分で作ったので、初期画像パスを渡して、それを初期表示させて、その後はスワイプで前後の画像を持ってくるようにしました。
最初から、そうしていれば問題無かったのかなと思いますが、androidのプログラムのコツが中々掴めてませんでした。
本当に、ありがとうございました。

投稿日時 - 2016-01-06 17:16:40

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(1)

-広告-
-広告-
-広告-
-広告-