Один и тот же метод во многих Activity

309
02 ноября 2017, 04:48

Недавно начал изучение java и android и решил написать приложение. Есть некий метод loadData(List<Item> itemList);, который на вход принимает коллекцию. Этот метод используется в нескольких activity. Чтобы в каждом активити не писать повторно этот метод, можно ли создать отдельный статический класс и в нем написать данный метод, а в активити его вызывать так MyStaticClass.loadData(List<Item> itemList);? Не возникнет ли случаев краха приложения?

Answer 1

Чтобы в каждом активити не писать повторно этот метод, можно ли создать отдельный статический класс и в нем написать данный метод, а в активити его вызывать так MyStaticClass.loadData(List<Item> itemList);?

(не статический класс, а статический метод!)

Чисто технически, если метод не использует поля класса активити, то можно, но стоит это делать лишь в том случае, если метод утилитный (да и вообще, кидаться вьюхами куда-либо не очень хорошая идея).

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

Answer 2

Краха приложения не произойдет при вызове метода из другого класса. Создайте класс, например, MyHelper. В нем создайте свой метод, определите в нем логику и вызывайте его из любого места вашего приложения.

public MyHelper{
     public static void mymethod(List<Item> somelist){
     //some logic
     }
}
READ ALSO
Включить редактирование только добавляемой новой строки JTable

Включить редактирование только добавляемой новой строки JTable

Здравствуйте! Для таблицы JTable поставил isCellEditable в false

345
Как в PopupMenu уменьшить высоту пунктов?

Как в PopupMenu уменьшить высоту пунктов?

Пробовал через задание стиля так:

271
Unity3D Custom Collider

Unity3D Custom Collider

В Update cтреляем лучом по коллайдеру и получаем у него нужный нам родительский объект

355
Настройка отступов для окна WPF

Настройка отступов для окна WPF

Имеется кастомное окно, но при разворачивании его на весь экран часть содержимого не видно, а также окно разворачивается под пуск, и панель...

420