0 / 0 / 0
Регистрация: 08.11.2016
Сообщений: 12
|
|
1 | |
Использование одного метода в двух активити08.11.2016, 01:09. Показов 3099. Ответов 26
Метки нет (Все метки)
Добрый день. Подскажите такой вопрос: как можно использовать один метод для двух разных активити (android studio). Т.е. если я его опишу в паблик активити Main, как мне его подключить к активити second? Что-то перерыл весь интернет, а не могу найти ответ на этот вопрос.
Заранее спасибо.
0
|
08.11.2016, 01:09 | |
Ответы с готовыми решениями:
26
Вызов и выполнение метода из одного активити в другом Использование переменной из одного метода в другой Использование метода из одного класса в другом Использование метода одного класса в другом |
104 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 474
|
|
08.11.2016, 02:27 | 2 |
Сделать метод в отдельном классе и вызывать его хоть из 20 активити
0
|
0 / 0 / 0
Регистрация: 08.11.2016
Сообщений: 12
|
|
08.11.2016, 09:03 [ТС] | 3 |
пробовал, но не получается.
Я вызываю его из другого активити так: МайнАктивити.МайМетод(); но так не работает, пишет что не знает что такое МайнАктивити. Если просто МайМетод() - так же не знает.
0
|
Модератор
3389 / 2161 / 352
Регистрация: 13.01.2012
Сообщений: 8,380
|
|
08.11.2016, 10:17 | 4 |
charset, если метод не статический то вы не можете вызывать его через класс.метод()
0
|
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
|
||||||
08.11.2016, 10:39 | 5 | |||||
Пишешь свой класс, там этот метод, потом в активити своих пишешь
0
|
0 / 0 / 0
Регистрация: 08.11.2016
Сообщений: 12
|
|
08.11.2016, 15:32 [ТС] | 6 |
vxg, да, метод не статический
Добавлено через 46 секунд ExFau$t, сейчас попробую. Добавлено через 3 минуты видимо что-то не то делаю. Что-то не получается. Но буду сейчас рыть в данном направлении.
0
|
0 / 0 / 0
Регистрация: 08.11.2016
Сообщений: 12
|
|||||||||||
08.11.2016, 15:42 [ТС] | 8 | ||||||||||
я создал методы в классе:
Далее мне нужно вызвать метод SaveParam(String name, String value) из другого активити. Я делаю так:
0
|
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
|
|
08.11.2016, 15:58 | 10 |
Ты создал не класс, а AppCompatActivity. А да, ещё конструктор в классе должен быть.
0
|
0 / 0 / 0
Регистрация: 08.11.2016
Сообщений: 12
|
|
08.11.2016, 16:26 [ТС] | 12 |
спасибо, буду читать.
0
|
0 / 0 / 0
Регистрация: 08.11.2016
Сообщений: 12
|
|
10.11.2016, 13:28 [ТС] | 13 |
в общем посмотрел статью, я так и делал. Разница в том что метод я сделал публичным, при этом он не был виден в экземпляре. Сделал его protected, теперь вижу (хотя по мне так как-то не логично), могу вызывать. Но теперь при вызове метода gridle выдает ошибку:
Error37, 59) error: <identifier> expected
0
|
0 / 0 / 0
Регистрация: 08.11.2016
Сообщений: 12
|
|||||||||||
10.11.2016, 16:36 [ТС] | 15 | ||||||||||
Все. Вопрос решился. Экземпляр класса создавал за пределами другого метода, по этой причине андроидстудио не ругалось на его использовании, ну а при компиляции выдавалась ошибка. Создал экземпляр непосредственно перед вызовом метода данного класса - все работает.
Моя ошибка была в том что метод в классе нужно было сделать protected, и область видимости экземпляра не распространялась на другой метод где я его вызывал. Спасибо всем кто откликнулся. Добавлено через 2 часа 59 минут ах, да это укороченный вариант
0
|
0 / 0 / 0
Регистрация: 08.11.2016
Сообщений: 12
|
|||||||||||||||||||||
10.11.2016, 17:27 [ТС] | 17 | ||||||||||||||||||||
перенести? В смысле скопировать код?
Добавлено через 55 секунд мне нужно использовать данный метод на нескольких активити Добавлено через 31 минуту теперь другая проблема. В общем я вернулся к тому с чего изначально и начинал. В методе у меня используется бибилиотека
0
|
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
|
|
10.11.2016, 19:39 | 18 |
ответ в сообщении №5,10 и 11
0
|
0 / 0 / 0
Регистрация: 08.11.2016
Сообщений: 12
|
||||||
10.11.2016, 21:47 [ТС] | 19 | |||||
Но в таком случае у меня не получается использовать:
0
|
104 / 103 / 29
Регистрация: 13.03.2016
Сообщений: 474
|
|
10.11.2016, 21:52 | 20 |
Уже 100500 раз посоветовали делать метод в отдельном классе, но ТС упорно сует его в активити. Видимо, дело принципа
Добавлено через 1 минуту Вот это вот зачем? Добавлено через 2 минуты И где конструктор класса? Там можно было бы контекст передать, если религия позволяет. А из контекста и в SharedPreferences пробраться...
0
|
10.11.2016, 21:52 | |
10.11.2016, 21:52 | |
Помогаю со студенческими работами здесь
20
Использование одного метода для нескольких кнопок Использование одного вектора вместо двух EF использование одного ApplicationDbContext в двух проектах Использование двух источников для одного label Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |