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

Использование одного метода в двух активити - Android

Восстановить пароль Регистрация
 
 
charset
 Аватар для charset
0 / 0 / 0
Регистрация: 08.11.2016
Сообщений: 12
08.11.2016, 01:09     Использование одного метода в двух активити #1
Добрый день. Подскажите такой вопрос: как можно использовать один метод для двух разных активити (android studio). Т.е. если я его опишу в паблик активити Main, как мне его подключить к активити second? Что-то перерыл весь интернет, а не могу найти ответ на этот вопрос.

Заранее спасибо.
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
charset
 Аватар для charset
0 / 0 / 0
Регистрация: 08.11.2016
Сообщений: 12
10.11.2016, 22:03  [ТС]     Использование одного метода в двух активити #21
ок, спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
androbro
311 / 271 / 51
Регистрация: 17.10.2014
Сообщений: 805
11.11.2016, 09:40     Использование одного метода в двух активити #22
charset, тут все зависит от того что делает ваш метод, если какие то тривиальные операции, сделайте static метод в каком нибудь классе Utils...

Добавлено через 8 минут
чет я первую страницу не заметил)))
можно del...
charset
 Аватар для charset
0 / 0 / 0
Регистрация: 08.11.2016
Сообщений: 12
15.11.2016, 01:37  [ТС]     Использование одного метода в двух активити #23
Взял в качестве extends Context, но пришлось делать класс абстрактным. Теперь вот запутался как на его основе сделать что бы можно было использовать в программе.

Добавлено через 1 минуту
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package com.example.transtsendental;
 
import android.content.Context;
import android.content.SharedPreferences;
 
abstract class AMainLib extends Context{
    SharedPreferences sPref;
    final String SAVED_TEXT = "saved_text";
 
    String LoadParam_pub_fsf(String name){
        sPref= getSharedPreferences(name, MODE_PRIVATE);
        return sPref.getString(SAVED_TEXT, "");
    }
}
не могу понять как на его основе создать не абстрактный класс, что бы можно было обращаться к методу
Java
1
LoadParam_pub_fsf
OlegJV
 Аватар для OlegJV
98 / 98 / 29
Регистрация: 13.03.2016
Сообщений: 444
15.11.2016, 03:33     Использование одного метода в двух активити #24
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от charset Посмотреть сообщение
Взял в качестве extends Context
Зачем???

Добавлено через 13 минут
Может хватит людей мучать...

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class AMainLib {
 
        final String SAVED_TEXT = "saved_text";
        private static AMainLib instance;
        private final SharedPreferences sPref;
        private Context context;
 
    public AMainLib(Context context) {
        this.context = context;
    }
 
    public static AMainLib getInstance(Context context) {
        if (instance == null) instance = new AMainLib(context);
        return instance;
    }
    
    public String LoadParam_pub_fsf(String name){
        sPref = context.getSharedPreferences(name, MODE_PRIVATE);
        return sPref.getString(SAVED_TEXT, "");
    }
 
}
В каждой активити:

Java
1
String result = AMainLib.getInstance(getApplicationContext()).LoadParam_pub_fsf(name);
charset
 Аватар для charset
0 / 0 / 0
Регистрация: 08.11.2016
Сообщений: 12
15.11.2016, 19:25  [ТС]     Использование одного метода в двух активити #25
Цитата Сообщение от OlegJV Посмотреть сообщение
Может хватит людей мучать...
Спасибо за помощь, сделал почти также (чуть-чуть подправил)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package com.example.transtsendental;
 
import android.content.Context;
import android.content.SharedPreferences;
 
class AMainLib {
 
    private Context context;
    final String SAVED_TEXT = "saved_text";
    private static AMainLib instance;
    SharedPreferences sPref;
    
 
    public AMainLib(SharedPreferences sPref, Context context) {
        this.sPref = sPref;
        this.context = context;
    }
 
    public static AMainLib getInstance(Context context, SharedPreferences sPref) {
        if (instance == null) instance = new AMainLib(sPref, context);
        return instance;
    }
 
    public String LoadParam_pub_fsf(String name){
        sPref = context.getSharedPreferences(name, context.MODE_PRIVATE);
        return sPref.getString(SAVED_TEXT, "");
    }
 
}
Ну и вызов соответственно:
Java
1
 String result = AMainLib.getInstance(getApplicationContext(),sPref).LoadParam_pub_fsf("MainDir");
ExFau$t
15.11.2016, 19:35
  #26

Не по теме:

аплодисменты...

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2016, 22:30     Использование одного метода в двух активити
Еще ссылки по теме:

Код для двух кнопок в одном активити Android
Android Как правильно организовать переход с одного активити на другое с паролем
На телефоне highscreen 3 на всех активити происходит быстрый самовозврат к главной активити Android

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

Или воспользуйтесь поиском по форуму:
OlegJV
 Аватар для OlegJV
98 / 98 / 29
Регистрация: 13.03.2016
Сообщений: 444
15.11.2016, 22:30     Использование одного метода в двух активити #27
Что ж ты косячишь все время... Нафига sPref в класс передавать, если ты их там все равно заново получаешь. И ещё и местами их попутал с контекстом в вызове...
Yandex
Объявления
15.11.2016, 22:30     Использование одного метода в двух активити
Ответ Создать тему
Опции темы

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