Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Sergei12
41 / 13 / 4
Регистрация: 22.07.2013
Сообщений: 145
#1

Открыть картинку в новом активити

22.01.2017, 14:13. Просмотров 338. Ответов 5
Метки нет (Все метки)

Приветствую уважаемые разрабы. Сразу извиняюсь если написал не в той ветке. Задача такая : есть 2 бланка активити : на первом несколько текствью и один имеджвью. При нажатии на текст появляется картинка:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
        View.OnClickListener SelectPic = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
 
                switch (v.getId())
                {
                    case R.id.textView7 :
                        mImageView.setImageResource(R.drawable.qwert01);
                        break;
 
                    case R.id.textView8 :
                        mImageView.setImageResource(R.drawable.qwert02);
                        break;
 
                    case R.id.textView9 :
                        mImageView.setImageResource(R.drawable.qwert03);
                        break;
               }
 
            }
        };
А при нажатии на саму картинку открывается второй активити, на котором из элементов только имаджвью, но на весь экран.
Java
1
2
3
4
5
6
7
8
9
       final View.OnClickListener Full = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, FullScreen.class);
 
                startActivity(intent);
 
            }
        };
Сейчас у меня просто открывается пустой экран, ресурс для имаджвью не указан. Вопрос : как сделать что бы при нажатии на картинку она открывалась на втором активити в полный экран? Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2017, 14:13
Ответы с готовыми решениями:

Как сделать, чтобы данные, введенные в EditText, сохранялись и пополнялись в новом активити?
как сделать что бы данные введенные в EditText сохранялись и пополнялись в...

Открыть второй активити
Раньше проблем с открытием второго активити через нажатие на кнопку не было....

Как передать целочисленную переменную и картинку из сервиса в активити?
Как передать целочисленную переменную и картинку из сервиса в активити?

Открыть активити не из главного класса
привет всем. ситуация такая: есть класс (обычный класс с методами) в котором...

Как открыть PUSH в активити?
Суть вопроса в том,что я не могу понять как по клику на Пуш,у человека...

5
Kir-malishev
71 / 71 / 57
Регистрация: 07.08.2016
Сообщений: 173
22.01.2017, 14:57 #2
http://stackoverflow.com/questions/2...ity-to-another

Java
1
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.qwert01);
1
Sergei12
41 / 13 / 4
Регистрация: 22.07.2013
Сообщений: 145
22.01.2017, 15:22  [ТС] #3
Вылетает на эмуляторе.
главный активити
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
        final Bitmap[] bitmap = new Bitmap[1];
 
        View.OnClickListener SelectPic = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
 
                switch (v.getId())
                {
                    case R.id.textView7 :
                        mImageView.setImageResource(R.drawable.qwert01);
               //         intent.putExtra("picNum",1);
                        break;
 
                    case R.id.textView8 :
                        mImageView.setImageResource(R.drawable.qwert02);
                    //    intent.putExtra("picNum",2);
 
                        break;
                    case R.id.textView9 :
                        mImageView.setImageResource(R.drawable.qwert03);
                    //    intent.putExtra("picNum",3);
                            bitmap[0] = BitmapFactory.decodeResource(getResources(),R.drawable.qwert03);
                        break;
 
                }
 
            }
        };
Второй
Java
1
2
3
4
5
6
7
         Intent intent = getIntent();
        Bitmap bitmap = (Bitmap) intent.getParcelableExtra("Bitmap");
 
        ImageView FIM;
        FIM = (ImageView) findViewById(R.id.fullIMG);
 
        FIM.setImageBitmap(bitmap);
При этом студия зачем то вместо
Java
1
Bitmap bitmap;
Вписала
Java
1
final Bitmap[] bitmap = new Bitmap[1];
Ругался : transform 'bitmap' into final one element array
0
Kir-malishev
71 / 71 / 57
Регистрация: 07.08.2016
Сообщений: 173
22.01.2017, 19:27 #4
Должно быть что-то такое:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Bitmap bitmap ;
 
        View.OnClickListener SelectPic = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                
                Intent intent = new Intent(this, NewActivity.class);
 
                switch (v.getId())
                {
                    case R.id.textView7 :
                        mImageView.setImageResource(R.drawable.qwert01);
                        bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.qwert01);
                        break;
 
                    case R.id.textView8 :
                        mImageView.setImageResource(R.drawable.qwert02);
                        bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.qwert02);
 
                        break;
                    case R.id.textView9 :
                        mImageView.setImageResource(R.drawable.qwert03);
                        bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.qwert03);
                        break;
 
                }
                intent.putExtra("image", bitmap);
                startActivity(intent);
 
            }
        };
А получаем в onCreate:
Java
1
2
Intent intent = getIntent();
Bitmap bitmap = (Bitmap) intent.getParcelableExtra("image");
Я не проверял работоспособность кода, но, по всей видимости, должно быть как-то так.
0
Pablito
2665 / 2147 / 729
Регистрация: 12.05.2014
Сообщений: 7,493
Завершенные тесты: 1
23.01.2017, 12:16 #5
если картинка из ресурсов то передавать через бандл ее id, и никакого бреда с упаковкой битмапа
0
demixdn
296 / 243 / 74
Регистрация: 31.10.2016
Сообщений: 591
23.01.2017, 12:18 #6
Kir-malishev, с каких пор передача битмапа в активити через intent - это хорошая практика?
Sergei12, вам в следующую активити нужно передавать не битмап, а ссылку на битмап. они же у вас статичные.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
        View.OnClickListener SelectPic = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                
                Intent intent = new Intent(this, NewActivity.class);
                int resource = 0;
 
                switch (v.getId())
                {
                    case R.id.textView7 :
                        mImageView.setImageResource(R.drawable.qwert01);
                        resource = R.drawable.qwert01;
                        break;
 
                    case R.id.textView8 :
                        mImageView.setImageResource(R.drawable.qwert02);
                        resource = R.drawable.qwert02;
                        break;
                    case R.id.textView9 :
                        mImageView.setImageResource(R.drawable.qwert03);
                        resource = R.drawable.qwert03;
                        break;
 
                }
                intent.putExtra("image", resource);
                startActivity(intent);
 
            }
А в следующем активити уже вытягивать id вашего ресурса и использовать.
0
23.01.2017, 12:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2017, 12:18

Как открыть активити с фрагмента используя кнопку?
У меня есть tab activity в ней есть фрагменты, так же есть второе tab activity...

Открыть старое активити при клике на уведомление
Добрый день. Есть такая штука: создается уведомление, оно появляется, при...

Открыть активити при нажатии на элемент Listview
Здравствуйте, в андроид-программирование не давно, подскажите пожалуйста как,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru