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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Androot
0 / 0 / 0
Регистрация: 11.09.2012
Сообщений: 27
#1

Вызов функции из класса - Программирование Android

27.10.2012, 14:38. Просмотров 1709. Ответов 6
Метки нет (Все метки)

как сменить цвет из одного класса в другом классе
в главном классе:
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));
что нужно исправить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2012, 14:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вызов функции из класса (Программирование Android):

Вызов класса - Программирование Android
Добрый день? подскажите разрабатываю первое приложение под Android. Вопрос в том что не совсем понял как можно вызвать из главного класса...

Вызов функций из класса - Программирование Android
Добрый день, позавчера стал изучать программирование для андроид и столкнулся с не понятной для меня вещью, и хочу сразу разобраться, что...

Вызов метода из класса в таймере - Программирование Android
Не могу получить титул веб страницы в таймере (ошибка). Пример: public class Main_Web extends WebView { String texst =...

Вызов метода из другого класса - Программирование Android
Не могу разобраться, почему вылетает приложение, когда пытаюсь задать текст для TextView в MainActivity из другого класса. Подскажите...

Вызов класса из класса - Программирование Android
Здравствуйте есть класса Session_stud: public class Session_stud { public static class kurt extends AsyncTask<String, Void,...

Создание класса и вызов его методов - Программирование Android
Код: public class DIYliq extends AppCompatActivity implements View.OnClickListener, SeekBar.OnSeekBarChangeListener { //... int...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
V0v1k
1158 / 982 / 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
1158 / 982 / 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
211 / 211 / 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. Вариантов много ..
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
28.10.2012, 16:21 #7
Цитата Сообщение от Androot Посмотреть сообщение
я так понял secondClass.changeBackground(rel); смена цвета в setting
а мне как раз нужно сменить цвет В MainActivity
вы тут передаете RelativeLayout который находится в MainActivity и именно для него изменяется цвет.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2012, 16:21
Привет! Вот еще темы с ответами:

Вызов нестатического метода из другого класса - Программирование Android
Здравствуйте. Подскажите, как можно вызвать нестатистический метод из другого класса. 1.Этот другой класс нельзя наследовать тем...

Вызов js функции в webView - Программирование Android
Добрый день! Имеется сайт со страницей поиска, который грузится в webView. Во время поиска нужно вызывать js функцию, которая возвращает...

Вызов функции и NULL reference - Программирование Android
Итак, в MainActivity описана следующая функция setuFeed(): public class MainActivity extends AppCompatActivity { private...

Вызов системной JNI-функции из своего приложения - Программирование Android
Имеется Highscreen ICE 2, у которого есть второй дисплей на задней панели(OLED). Хочу получить доступ к рисованию на этом экране. В...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.10.2012, 16:21
Ответ Создать тему
Опции темы

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