проблема с отображением изображения после переключения активности Android - PullRequest
0 голосов
/ 17 ноября 2010

У меня вышеописанная проблема при переключении активности. В первом упражнении у меня есть 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]);
            }
        });

Есть ли что-то вроде идентификатора или чего-то, что говорит о том, что на экране в момент переключения? Как мне это сделать?

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 18 ноября 2010

Другой вариант - сохранить «выбранное изображение» в виде идентификатора ресурса или URI или даже просто сохранить объект 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; }
}

Это будет работать во всех ваших действиях. Но, как сказал Вайнн, использование информации в качестве ДОПОЛНИТЕЛЬНОЙ цели также будет работать.

0 голосов
/ 17 ноября 2010

Я не уверен, что вы пытаетесь достичь здесь. Вы хотите сохранить состояние действия с помощью галереи (что, по-моему, должен делать Android автоматически) или вы хотите показать выбранное изображение из ImageView во втором действии? Если это последнее, что вы хотите сделать, просто поместите imageID (ResourceId или положение массива) в качестве дополнительных данных в намерение, которое вы используете для вызова второго действия.

Надеюсь, я не совсем упускаю вашу точку зрения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...