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

Вызов функции из класса - Android

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Androot
0 / 0 / 0
Регистрация: 11.09.2012
Сообщений: 27
27.10.2012, 14:38     Вызов функции из класса #1
как сменить цвет из одного класса в другом классе
в главном классе:
Java
1
2
RelativeLayout rel;
rel = (RelativeLayout)findViewById(R.id.RelativeLayout1);
во втором классе:
Java
1
2
3
4
   void saveText() {
    MainActivity mc = new MainActivity();
 
mc.rel.setBackgroundColor(getResources().getColor(R.color.green));}
выкидывает java.lang.NullPointerException
и com.gt.tg.setting.saveText(setting.java:137)
с указанием на эту строчку mc.rel.setBackgroundColor(getResources().getColor(R.color.green));
что нужно исправить?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
27.10.2012, 14:46     Вызов функции из класса #2
rel = (RelativeLayout)findViewById(R.id.RelativeLayout1);
secondClass.changeBackground(rel);
Androot
0 / 0 / 0
Регистрация: 11.09.2012
Сообщений: 27
27.10.2012, 15:39  [ТС]     Вызов функции из класса #3
Цитата Сообщение от V0v1k Посмотреть сообщение
rel = (RelativeLayout)findViewById(R.id.RelativeLayout1);
secondClass.changeBackground(rel);
несовсем понял куда это вставлять

Добавлено через 34 минуты
Цитата Сообщение от Androot Посмотреть сообщение
несовсем понял куда это вставлять
он не может найти такую функцию changeBackground(rel);
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
27.10.2012, 16:46     Вызов функции из класса #4
Цитата Сообщение от Androot Посмотреть сообщение
несовсем понял куда это вставлять
туда же, где у вас
Цитата Сообщение от Androot Посмотреть сообщение
RelativeLayout rel;
rel = (RelativeLayout)findViewById(R.id.RelativeLayout1);


Цитата Сообщение от Androot Посмотреть сообщение
он не может найти такую функцию changeBackground(rel);
вы должны этот метод сделать и поместить в него
Цитата Сообщение от Androot Посмотреть сообщение
rel.setBackgroundColor(getResources().getColor(R.color.green));
Androot
0 / 0 / 0
Регистрация: 11.09.2012
Сообщений: 27
28.10.2012, 05:07  [ТС]     Вызов функции из класса #5
я так понял secondClass.changeBackground(rel); смена цвета в setting
а мне как раз нужно сменить цвет В MainActivity
это MainActivity
Java
1
2
 RelativeLayout rel;
rel = (RelativeLayout)findViewById(R.id.RelativeLayout1);
это setting
Java
1
2
3
4
   void saveText() {
    MainActivity mc = new MainActivity();
 
mc.rel.setBackgroundColor(getResources().getColor(R.color.green));}
Добавлено через 14 минут
Цитата Сообщение от Androot Посмотреть сообщение
я так понял secondClass.changeBackground(rel); смена цвета в setting
а мне как раз нужно сменить цвет В MainActivity
это MainActivity
Java
1
2
 RelativeLayout rel;
rel = (RelativeLayout)findViewById(R.id.RelativeLayout1);
это setting
Java
1
2
3
4
   void saveText() {
    MainActivity mc = new MainActivity();
 
mc.rel.setBackgroundColor(getResources().getColor(R.color.green));}
даже если сделать метод он все равно рушится здесь rel.setBackgroundColor(getResources().getColor(R.color.green)); на java.lang.NullPointerException
NiRamz
210 / 210 / 16
Регистрация: 26.12.2010
Сообщений: 691
28.10.2012, 12:39     Вызов функции из класса #6
во 1 - вам не нужно создавать новый экземпляр MainActivity(MainActivity mc = new MainActivity(), а использовать уже имеющийся. что мешает сделать в главном классе метод следующего содержания?
Java
1
2
3
public static void setColor() {
((RelativeLayout)findViewById(R.id.RelativeLayout1)).setBackgroundColor(getResources().getColor(R.color.green));
}
и потом просто вызывать этот метод из любой части программы, только следите что бы layout был установлен на activity, иначе будет ошибка вылетать.

Так же можно организовать через IntentFilter или SharedPreferance. Вариантов много ..
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2012, 16:21     Вызов функции из класса
Еще ссылки по теме:

Android Вызов системной JNI-функции из своего приложения
Создание класса и вызов его методов Android
Вызов js функции в webView Android
Android Вызов класса
Android Вызов функций из класса

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

Или воспользуйтесь поиском по форуму:
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.10.2012, 16:21     Вызов функции из класса #7
Цитата Сообщение от Androot Посмотреть сообщение
я так понял secondClass.changeBackground(rel); смена цвета в setting
а мне как раз нужно сменить цвет В MainActivity
вы тут передаете RelativeLayout который находится в MainActivity и именно для него изменяется цвет.
Yandex
Объявления
28.10.2012, 16:21     Вызов функции из класса
Ответ Создать тему
Опции темы

Текущее время: 07:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru