切换活动Android后显示图像的问题

时间:2010-11-17 13:08:35

标签: android android-activity

切换我的活动时遇到上述问题。在第一个活动中,我有一个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或者什么东西在屏幕上说什么?我怎么能做到这一点?

提前致谢

2 个答案:

答案 0 :(得分:0)

我不确定你要在这里完成什么。你想用图库保存活动状态(我认为这应该是Android自动执行)还是你想在第二个活动中从ImageView显示所选图像?如果你想做的是后者,只需将imageID(ResourceId或数组位置)作为额外数据放入你用来调用第二个Activity的Intent中。

希望我不会完全忽视你的观点。

答案 1 :(得分:0)

另一种选择是以资源ID或URI的形式存储“选定的图像”,或者甚至只是保留imageView对象(如果你真的想要),在你的Application Instance中 - 这是在活动之间保持的

只需创建一个扩展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所说,将信息作为意图中的EXTRA也可以使用。