Когда я начал писать одну программу для тренировки, мне потребовалось сделать так, чтобы из другого файла Java
кода вызывалась функция. Но так как файл Java
, из которого я вызываю функцию не привязан ни к какому Activity
(чтобы можно было его вызвать откуда угодно), мне пришлось прописать в этой функции аргумент класса Activity
, но при этом когда я прописываю сам Activity, Android Studio
говорит мне что в коде ошибка
Expression expected
если кому не понято, вот пример:
Activity.java
:
//вызов функции
function(..., com.example.project.Activity, ...)//выдаёт ошибку где com.example.project.Activity
crViewInActivity.java
(забыл сказать, что эта функция создаёт несколько View в Activity):
public static void function(..., Activity where, ...){...; TextView text = new TextView(where);...}`
Может кто сталкивался с такой проблемой? Заранее спасибо!
Если я правильно понял, тебе нужно передать в параметрах экземпляр класса Activity из другого класса (не активити)? Тогда можно в MainActivity объявить объект класса MainActivity, в методе onCreate(...)
присвоить этому объекту this, и создать публичный метод, который возвращает этот объект.
private static MainActivity activity;
@Override
public void onCreate (...) {
activity = this;
...
}
public static MainActivity getInstance () { return activity; }
А потом с помощью метода MainActivity.getInstance()
получить нужный объект.
function(... , MainActivity.getInstance(), ... )
Если вызываешь этот метод из Activity.java то сделай так
function(..., this, ...)
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Доброе утро, пытаюсь сделать адаптивную верстку на сайт и столкнулся с такой проблемой, блок что идет справа не отображается на мобильных...
Необходимо исплользовать сетку бутстрапНа левом блоке будет внизу фоновое изображение
В шаблоне HTML сайта на Django русский текст вызывает появление ошибки UnicodeDecodeError: "utf-8" codec can't decode byte 0xd1 in position 162: invalid continuation byteКак решить эту проблему?