在切换活动时,我遇到了上述问题。在第一个活动中,我有一个显示所有图像的GalleryView和一个显示从图库中选择的图像的ImageView。现在我想切换到下一个活动,并在第二个活动中保留屏幕上ImageView的相同图像。下面是我展示图片的方式:
Integer[] imageIDs = {R.drawable.img1, R.drawable.img2, R.drawable.img3};
Gallery gallery = (Gallery) findViewById(R.id.gallery1);
gallery.setAdapter(new ImageAdapter(this));
gallery.setOnItemClickListener(new OnItemClickListener()
{
@SuppressWarnings("rawtypes")
public void onItemClick(AdapterView parent, View v, int position, long id)
{
ImageView imageView = (ImageView) findViewById(R.id.image1);
imageView.setImageResource(imageIDs[position]);
}
});是不是有一个id之类的东西来说明切换时屏幕上显示的是什么?我如何才能做到这一点呢?
提前感谢
发布于 2010-11-17 21:57:25
我不知道你在这里想要实现什么。你想用图库保存活动的状态(我认为安卓应该会自动保存),还是想在第二个活动中显示从ImageView中选择的图片?如果是后者,只需将imageID (ResourceId或数组位置)作为额外数据放入用于调用第二个Activity的Intent中。
希望我没有完全理解你的意思。
发布于 2010-11-18 06:44:28
另一种选择是以资源ID或URI的形式存储“选定的图像”,或者如果您真的想要的话,甚至只保留Application Instance中的imageView对象--这是在活动之间维护的。
只需创建一个扩展Application类的类,并使其成为一个静态对象,这样您就可以随时调用getInstance()
public class MyApplication extends Application {
private static MyApplication singleton;
private Uri selectedImage;
public static MyApplication getInstance() {
return singleton;
}
public void setSelectedImage(Uri uri) { selectedImage = uri; }
public Uri getSelectedImage() { return selectedImage; }
}这将在你的活动中起作用。但正如wonne所说,将信息作为额外的信息放在意图中也是可行的。
https://stackoverflow.com/questions/4204642
复制相似问题