我正在创建画廊。我有网格视图,显示所有图像。现在,当我们使用复选框选择多个图像时,我想这样做,然后另一个意图将开始我已经完成,但现在我想在这个新意图中显示所选图像。
提前完成。
答案 0 :(得分:0)
基本上你想要的是点击按钮开始新活动而不是吐司,然后显示所选图像,对吗?
检查第72行:selectImages = selectImages + arrPath[i] + "|";
这是图像的路径,而i是您想以某种方式保存的位置,因为这样您就可以知道选择了哪些图像。您可以将其另存为List或Array,然后在按钮上单击start new Activity,在bundle中传递此List或Array以及在新的Activity fetch中 图像ID并在位图数组缩略图[imageID]中查找图像。你需要改变 能见度
private Bitmap[] thumbnails;
公开。试试看,如果你有成功就告诉我们,如果没有,我们可以帮你进一步;)
修改强> 这里有一些帮助,在bundle
中传递int数组 Intent myIntent = new Intent(A.this, B.class);
intent.putIntegerArrayListExtra("arr", pics);//pics is your array with id-s of bitmaps
startActivity(myIntent);
您将在onClick按钮中添加to而不是toast,并在下一个Activity中阅读:
Intent i = getIntent();
integer [] fromApics = i.getIntegerArrayListExtra("arr");
编辑2
好的,我会为你写一些代码但是阅读并尝试理解它: 在您的主要活动中更改此内容:
selectBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
final int len = thumbnailsselection.length;
int cnt = 0;
String selectImages = "";
ArrayList<Integer> pics=new ArrayList(thumbnailsselection.length);
for (int i =0; i<len; i++)
{
if (thumbnailsselection[i]){
pics.add(i);
cnt++;
selectImages = selectImages + arrPath[i] + "|";
}
}
if (cnt == 0){
Toast.makeText(getApplicationContext(),
"Please select at least one image",
Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(),
"You've selected Total " + cnt + " image(s).",
Toast.LENGTH_LONG).show();
Log.d("SelectedImages", selectImages);
Intent myIntent = new Intent(AndroidCustomGalleryActivity.this, Test.class);
myIntent.putIntegerArrayListExtra("arr", pics);//pics is your array with id-s of bitmaps
startActivity(myIntent);
}
}
});
同时设置页面可见性:
public static String[] arrPath;
创建名为Test的新活动,如下所示:
package com.isummation.customgallery;
import java.util.ArrayList;
import android.app.Activity; import android.content.Intent; import android.os.Bundle;
public class Test extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent i = getIntent();
ArrayList<Integer> fromApics = i.getIntegerArrayListExtra("arr");
for(int y=0;y<fromApics.size();y++){
System.out.println(AndroidCustomGalleryActivity.arrPath[fromApics.get(y)].toString());
}
}
}
不要忘记在清单文件中添加活动,您将能够在logcat中看到打印的图像路径。多数民众赞成我留给你定制测试活动,并制作一个选定的图像或任何
的画廊