Страница 1 из 4
как вызывать выполнение функций из собственного класса
Добавлено: 16 апр 2014, 17:05
n0tb0dy
Добрый день!
Подскажите пожалуйста, как можно организовать примитивный вызов подпрограммы?
Например, есть стандартный класс Активности. Я хочу создать свой java class, в котором будут подпрограммы отрабатывать нажатие кнопок.
Re: как вызывать выполнение функций из собственного класса
Добавлено: 16 апр 2014, 17:07
Foenix
забудьте про понятие подпрограммы, их времена уже ушли. Есть классы, у них методы и свойства.
Метод класса, о котором идет речь вызывается через имя_класса.метод()
Нажатия кнопок лучше описывать в классе активити
Re: как вызывать выполнение функций из собственного класса
Добавлено: 16 апр 2014, 17:10
n0tb0dy
я это и имел в виду
я хочу создать свой класс, со своими методами и потом их вызывать из Активности
Re: как вызывать выполнение функций из собственного класса
Добавлено: 16 апр 2014, 17:10
n0tb0dy
просто хотелось бы тупо примерчик класса, простого метода в нем и вызов его из класса Активности
Re: как вызывать выполнение функций из собственного класса
Добавлено: 16 апр 2014, 17:12
Foenix
тупо примерчик класса - это любой класс и любой файл рассматриваемый в уроках их содержит. ТУТ ВСЕ - КЛАССЫ! Активити - чем вам не класс?
Re: как вызывать выполнение функций из собственного класса
Добавлено: 16 апр 2014, 17:14
n0tb0dy
в общем я создал свой класс и метод в нем
[syntax=java]
import android.util.Log;
public class AppTaskInfo {
final String TAG = "States";
public void onInfoClick(){
Log.d(TAG, "FIRST FUNCTION WORK!!!!");
}
}
[/syntax]
пробую вызывать метод onInfoClick() из класса Активности.
не вызыватесчя...
импорт своего класса в класс Активности я сделал, но доступа к моему методу так и нет
Re: как вызывать выполнение функций из собственного класса
Добавлено: 16 апр 2014, 17:15
Foenix
я же сказала - не стоит их выносить из активити.
Читайте уроки, у вас вопросы даже не новичка, а того, кто понятия не имеет об элементарных вещах.
Re: как вызывать выполнение функций из собственного класса
Добавлено: 16 апр 2014, 17:17
n0tb0dy
хорошо спасибо
Re: как вызывать выполнение функций из собственного класса
Добавлено: 16 апр 2014, 21:23
n0tb0dy
всего то надо было объявить метод как static, чтобы я мог вызвать его как хотел
public static void onInfoClick()
а затем уже вызывать как вы говорили
класс.метод()
я так и делал, но поскольку не был объявлен как статик, то дело не шло
спасибо, еще раз, заодно сам, погуглив, просвятился по данной теме,
Re: как вызывать выполнение функций из собственного класса
Добавлено: 16 апр 2014, 21:38
altwin
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?
Re: как вызывать выполнение функций из собственного класса
Добавлено: 16 апр 2014, 22:48
n0tb0dy
У меня куча активностей, и в каждой из них я могу вызывать этот нужный мне метод несколько раз и не только по нажатию кнопки, но и просто в коде
поэтому мне это нужно было просто для уменьшения когда активности и его читабельности
эт во первых, во вторых мне просто так хотелось
а в третьих, я не знал про то, что вы только-что предложили, за что вам спасибо большое
ну и в четвертых я пока как то не проникся методом OnClickListener
возможно я потом поменяю к нему свое отношение, но пока я его не юзаю, а просто выношу вызов нажатий в XML
вроде мы с вами уже общались на эту тему
в любом случае спасибо еще раз за ваше участие
Re: как вызывать выполнение функций из собственного класса
Добавлено: 17 апр 2014, 11:01
Foenix
да ты вообще, какой статик.. экземпляр класса вначале создавать нужно, а потом его методы вызывать
Статик - это когда понимаешь что ты вообще делаешь, а не просто так - словечко.
Re: как вызывать выполнение функций из собственного класса
Добавлено: 17 апр 2014, 11:14
altwin
n0tb0dy писал(а):У меня куча активностей, и в каждой из них я могу вызывать этот нужный мне метод несколько раз и не только по нажатию кнопки, но и просто в коде
OnClickListener можно установить на любой объект и это не обязательно должна быть кнопка это раз, и два заключается в том, что если внутри этого метода вызывать функцию из public класса например
ActionClass.doSomеthingAfterClick(); все будет куда кошернее

Re: как вызывать выполнение функций из собственного класса
Добавлено: 17 апр 2014, 11:16
Foenix
ого, да ну........................
Re: как вызывать выполнение функций из собственного класса
Добавлено: 17 апр 2014, 11:23
altwin
Foenix писал(а):забудьте про понятие подпрограммы, их времена уже ушли. Есть классы, у них методы и свойства.
В смысле?

Любая функция по сути является подпрограммой ... я думал к нам только недавно приходит понимание и осмысления подобных scala вещей

А как же будущее в java 8, которая по сути выводит на новый уровень возможности подпрограмм в языке
P.S. но как бы да в java -это не много странно

Re: как вызывать выполнение функций из собственного класса
Добавлено: 17 апр 2014, 11:54
Foenix
не путай людей окончательно

Re: как вызывать выполнение функций из собственного класса
Добавлено: 17 апр 2014, 12:06
n0tb0dy
знаете я уже стал проникаться пониманием необходимости использования OnClickListener
пока у меня в проекте всего несколько активностей, то я легко помню какие обработчики нажатий я вынес в xml, но когда будет много разметок под разные разрешения и ориентации, вот тогда действительно можно замучится прописывать все в XML
Re: как вызывать выполнение функций из собственного класса
Добавлено: 17 апр 2014, 12:12
n0tb0dy
я изучаю Java параллельно с изучением программирования под Андроид, поэтому и задаю вопросы которые могут вызвать у бывалых людей типа вас, просто шок
спасибо вам большое за ваше терпение и ответы
Re: как вызывать выполнение функций из собственного класса
Добавлено: 17 апр 2014, 12:30
Foenix
1. читаем сайт девелоперов
нельзя со своим самоваром ехать в Тулу, тем более, что у тебя даже самоварного заводика нет своего.
Re: как вызывать выполнение функций из собственного класса
Добавлено: 17 апр 2014, 14:49
n0tb0dy
вот его я таки как раз внимательно и читаю, уже месяц там сижу
особенно в теме Tasks and Back Stack... поэтому и задаю вопросы по этой теме
и кстати уж может все таки напишите, если не затруднит, и если есть время, как в примере из урока 116 вынести обработчик нажатия кнопки Info в отдельный класс, а из класса Активности просто вызывать его, по нажатию кнопки... ну правда очень интересно мне как это сделать...
в принципе я почти уже сделал и на этапе компиляции ошибок не возникает, но вот когда уже приложение выполняется ошибки вылетают