グリッドビューを持つアクティビティ(MyActivity)が1つあります。また、「ギャラリーから既存の写真を追加」ボタンがあります。このボタンをクリックすると、ギャラリービューアアプリケーションが開き、ギャラリーで写真を選択すると、MyActivityのグリッドビューが更新されます。また、選択した写真をsdcardのmyimageフォルダーに保存しています。
グリッドビューで特定のセルを選択すると、フォトビューアーが開き、そのフォルダー(myimage)に存在するすべての画像が表示されるようにしたいと思います。
コードを以下に示します
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
try {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file:///sdcard/myimage/*"),
"image/*");
startActivity(intent);
}
このコードは、グリッドビューの特定のセルをクリックすると、フォトビューアーを開きますが、そのフォルダー内の写真は表示されません。
しかし、私がこのコードを使用する場合
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
try {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file:///sdcard/myimage/a.jpg"),
"image/*");
startActivity(intent);
}
myimageフォルダ内のすべての写真ではなく、写真a.jpgのみが表示されます。また、フォトビューアに次と前の矢印が表示されません。
SDカードの特定のフォルダにあるすべての画像を次と前の矢印で表示して、すべての写真をトラバースできるようにします。
この方法でこれが不可能な場合は、他のアプローチを提案してください(コードも添付してください)。