Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Считывания ресурсов методом setBackground - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Что за view используется для меню в OneDrive http://www.cyberforum.ru/android-dev/thread1193329.html
Видели приложение OneDrive от мелкософта для Андроид? Вот там снизу менюшка. Что это за элемент управления? Спасибо.
Программирование Android Использование элемента другого layout Здравствуйте! Проблема в следующем Главный экран содержит ViewPager с PagerTabStrip. На них выводится лэйаут содержащий ListView (fragment.xml) и один итем листвью описан как отдельный... http://www.cyberforum.ru/android-dev/thread1193282.html
Программирование Android Удаление представления списка детализации
Ребят возник такой вопрос как можно с помощью командного меню, либо панели действий удалить представление детализации, то есть его можно удалить с помощью командного меню в ListView(на скрине). Мне...
Парсинг XML по URL Программирование Android
Нужно взять строку из тега <company> отсюда xml. Можно как-то обойтись без циклов?
Программирование Android Google Maps API v2+ SlidingMenu http://www.cyberforum.ru/android-dev/thread1192940.html
Написал простенькое приложение с выдвижной формой, в одном из разделов выдвижной форму находится меню с картой Google Maps, при открытии этого меню в первый раз карта загружается нормально, но стоит...
Программирование Android Избавиться от R в классе Есть несколько проектов в которых использую один класс со сложным методом с одним XML файлом... Но вынужден обращаться к элементам по именам переменных в R. SeachByTag - не сработает(виджетовские... подробнее

Показать сообщение отдельно
nilamop
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 22

Считывания ресурсов методом setBackground - Программирование Android

30.05.2014, 12:58. Просмотров 1530. Ответов 5
Метки (Все метки)

Сейчас занимаюсь реализацией метода для трех кнопок(одного общего метода), при нажатии на которые менялся текст и фон.
Когда использовал на каждую кнопку отдельный метод все работало отлично. Когда же один onClick() выдает ошибку в
relativeLayout.setBackground(R.color.redColor); мол, in view cannot be applied to (int), как я понял, ресурс в этот метод передаваться может только если он присвоен объекту Drawable.

Вопрос следующий: почему при общем методе для кнопок, setBackground() не принимает ресурс, а при одном методе на кнопку принимается, хотя и подчеркивается красным(да и при использовании объекта с ссылкой на ресурс тоже красным, но хоть работает)?

Тут выложу фрагмент кода работающего, с одним методом для трех кнопок.

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
OnClickListener oclBtn = new OnClickListener() {
            @Override
            public void onClick(View v){
                switch (v.getId())
                {
                    case R.id.buttonRed:
                        tvInfo.setText(R.string.red);
                        Resources res0 = getResources();
                        Drawable drawable0 = res0.getDrawable(R.color.redColor);
                        relativeLayout.setBackground(drawable0);
                        break;
                    case R.id.buttonYellow:
                        tvInfo.setText(R.string.yellow);
                        Resources res1 = getResources();
                        Drawable drawable1 = res1.getDrawable(R.color.yellowColor);
                        relativeLayout.setBackground(drawable1);
                        break;
                    case R.id.buttonGreen:
                        tvInfo.setText(R.string.green);
                        Resources res2 = getResources();
                        Drawable drawable2 = res2.getDrawable(R.color.greenColor);
                        relativeLayout.setBackground(drawable2);
                        break;
                }
            }
        };
Тут код с отдельным методом для одной кнопки:
Java
1
2
3
4
5
6
7
buttonYellow.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v){
                tvInfo.setText(R.string.yellow);
                relativeLayout.setBackgroundResource(R.color.yellowColor);
            }
        });
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru