как вызывать выполнение функций из собственного класса

Аватара пользователя
n0tb0dy
Сообщения: 135
Зарегистрирован: 14 фев 2014, 09:42

как вызывать выполнение функций из собственного класса

Сообщение n0tb0dy » 16 апр 2014, 17:05

Добрый день!

Подскажите пожалуйста, как можно организовать примитивный вызов подпрограммы?

Например, есть стандартный класс Активности. Я хочу создать свой java class, в котором будут подпрограммы отрабатывать нажатие кнопок.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: как вызывать выполнение функций из собственного класса

Сообщение Foenix » 16 апр 2014, 17:07

забудьте про понятие подпрограммы, их времена уже ушли. Есть классы, у них методы и свойства.
Метод класса, о котором идет речь вызывается через имя_класса.метод()
Нажатия кнопок лучше описывать в классе активити
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
n0tb0dy
Сообщения: 135
Зарегистрирован: 14 фев 2014, 09:42

Re: как вызывать выполнение функций из собственного класса

Сообщение n0tb0dy » 16 апр 2014, 17:10

я это и имел в виду

я хочу создать свой класс, со своими методами и потом их вызывать из Активности

Аватара пользователя
n0tb0dy
Сообщения: 135
Зарегистрирован: 14 фев 2014, 09:42

Re: как вызывать выполнение функций из собственного класса

Сообщение n0tb0dy » 16 апр 2014, 17:10

просто хотелось бы тупо примерчик класса, простого метода в нем и вызов его из класса Активности

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: как вызывать выполнение функций из собственного класса

Сообщение Foenix » 16 апр 2014, 17:12

тупо примерчик класса - это любой класс и любой файл рассматриваемый в уроках их содержит. ТУТ ВСЕ - КЛАССЫ! Активити - чем вам не класс?
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
n0tb0dy
Сообщения: 135
Зарегистрирован: 14 фев 2014, 09:42

Re: как вызывать выполнение функций из собственного класса

Сообщение n0tb0dy » 16 апр 2014, 17:14

в общем я создал свой класс и метод в нем

[syntax=java]
import android.util.Log;

public class AppTaskInfo {
final String TAG = "States";

public void onInfoClick(){
Log.d(TAG, "FIRST FUNCTION WORK!!!!");
}

}

[/syntax]

пробую вызывать метод onInfoClick() из класса Активности.

не вызыватесчя...
импорт своего класса в класс Активности я сделал, но доступа к моему методу так и нет

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: как вызывать выполнение функций из собственного класса

Сообщение Foenix » 16 апр 2014, 17:15

я же сказала - не стоит их выносить из активити.
Читайте уроки, у вас вопросы даже не новичка, а того, кто понятия не имеет об элементарных вещах.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
n0tb0dy
Сообщения: 135
Зарегистрирован: 14 фев 2014, 09:42

Re: как вызывать выполнение функций из собственного класса

Сообщение n0tb0dy » 16 апр 2014, 17:17

хорошо спасибо

Аватара пользователя
n0tb0dy
Сообщения: 135
Зарегистрирован: 14 фев 2014, 09:42

Re: как вызывать выполнение функций из собственного класса

Сообщение n0tb0dy » 16 апр 2014, 21:23

всего то надо было объявить метод как static, чтобы я мог вызвать его как хотел

public static void onInfoClick()

а затем уже вызывать как вы говорили

класс.метод()

я так и делал, но поскольку не был объявлен как статик, то дело не шло

спасибо, еще раз, заодно сам, погуглив, просвятился по данной теме,

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: как вызывать выполнение функций из собственного класса

Сообщение altwin » 16 апр 2014, 21:38

n0tb0dy писал(а):всего то надо было объявить метод как static, чтобы я мог вызвать его как хотел

public static void onInfoClick()

а затем уже вызывать как вы говорили

класс.метод()

я так и делал, но поскольку не был объявлен как статик, то дело не шло

спасибо, еще раз, заодно сам, погуглив, просвятился по данной теме,
Почему нельзя просто:
[syntax=java5]Button info=new Button(ViewPagerSample.this);
info.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

}
});[/syntax]
ну или любой onItemClickListener?
Изображение

Аватара пользователя
n0tb0dy
Сообщения: 135
Зарегистрирован: 14 фев 2014, 09:42

Re: как вызывать выполнение функций из собственного класса

Сообщение n0tb0dy » 16 апр 2014, 22:48

У меня куча активностей, и в каждой из них я могу вызывать этот нужный мне метод несколько раз и не только по нажатию кнопки, но и просто в коде

поэтому мне это нужно было просто для уменьшения когда активности и его читабельности

эт во первых, во вторых мне просто так хотелось :)

а в третьих, я не знал про то, что вы только-что предложили, за что вам спасибо большое

ну и в четвертых я пока как то не проникся методом OnClickListener :)

возможно я потом поменяю к нему свое отношение, но пока я его не юзаю, а просто выношу вызов нажатий в XML

вроде мы с вами уже общались на эту тему

в любом случае спасибо еще раз за ваше участие

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: как вызывать выполнение функций из собственного класса

Сообщение Foenix » 17 апр 2014, 11:01

да ты вообще, какой статик.. экземпляр класса вначале создавать нужно, а потом его методы вызывать
Статик - это когда понимаешь что ты вообще делаешь, а не просто так - словечко.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: как вызывать выполнение функций из собственного класса

Сообщение altwin » 17 апр 2014, 11:14

n0tb0dy писал(а):У меня куча активностей, и в каждой из них я могу вызывать этот нужный мне метод несколько раз и не только по нажатию кнопки, но и просто в коде
OnClickListener можно установить на любой объект и это не обязательно должна быть кнопка это раз, и два заключается в том, что если внутри этого метода вызывать функцию из public класса например ActionClass.doSomеthingAfterClick(); все будет куда кошернее ;)
Изображение

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: как вызывать выполнение функций из собственного класса

Сообщение Foenix » 17 апр 2014, 11:16

ого, да ну........................
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: как вызывать выполнение функций из собственного класса

Сообщение altwin » 17 апр 2014, 11:23

Foenix писал(а):забудьте про понятие подпрограммы, их времена уже ушли. Есть классы, у них методы и свойства.
В смысле? :) Любая функция по сути является подпрограммой ... я думал к нам только недавно приходит понимание и осмысления подобных scala вещей :) А как же будущее в java 8, которая по сути выводит на новый уровень возможности подпрограмм в языке :)

P.S. но как бы да в java -это не много странно :)
Изображение

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: как вызывать выполнение функций из собственного класса

Сообщение Foenix » 17 апр 2014, 11:54

не путай людей окончательно :)
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
n0tb0dy
Сообщения: 135
Зарегистрирован: 14 фев 2014, 09:42

Re: как вызывать выполнение функций из собственного класса

Сообщение n0tb0dy » 17 апр 2014, 12:06

знаете я уже стал проникаться пониманием необходимости использования OnClickListener

пока у меня в проекте всего несколько активностей, то я легко помню какие обработчики нажатий я вынес в xml, но когда будет много разметок под разные разрешения и ориентации, вот тогда действительно можно замучится прописывать все в XML

Аватара пользователя
n0tb0dy
Сообщения: 135
Зарегистрирован: 14 фев 2014, 09:42

Re: как вызывать выполнение функций из собственного класса

Сообщение n0tb0dy » 17 апр 2014, 12:12

я изучаю Java параллельно с изучением программирования под Андроид, поэтому и задаю вопросы которые могут вызвать у бывалых людей типа вас, просто шок :)

спасибо вам большое за ваше терпение и ответы

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: как вызывать выполнение функций из собственного класса

Сообщение Foenix » 17 апр 2014, 12:30

1. читаем сайт девелоперов
нельзя со своим самоваром ехать в Тулу, тем более, что у тебя даже самоварного заводика нет своего.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
n0tb0dy
Сообщения: 135
Зарегистрирован: 14 фев 2014, 09:42

Re: как вызывать выполнение функций из собственного класса

Сообщение n0tb0dy » 17 апр 2014, 14:49

вот его я таки как раз внимательно и читаю, уже месяц там сижу :)

особенно в теме Tasks and Back Stack... поэтому и задаю вопросы по этой теме

и кстати уж может все таки напишите, если не затруднит, и если есть время, как в примере из урока 116 вынести обработчик нажатия кнопки Info в отдельный класс, а из класса Активности просто вызывать его, по нажатию кнопки... ну правда очень интересно мне как это сделать...

в принципе я почти уже сделал и на этапе компиляции ошибок не возникает, но вот когда уже приложение выполняется ошибки вылетают

Ответить