#java #android
Я работаю с MainActivity котрое имеет доступ к UI , я реализовываю в нем возможность
определения необходимых мне данных, которые как только подсчитываются устанавливаются
в TextView. Проблема в том, что эти методы занимают много места и я создал класс Helper
в который перенес все эти методы, но теперь я не могу получить доступ через findViewById()
и даже если я передам TextView в конструкторе то я все равно не могу в него сделать
set() так как пишет что set() может делать только активити которое его создало... Как
красиво решить эту проблему не передавая ресурсы через конструктор и не используя runOnUiThread()
Ответы
Ответ 1
Если вы имеете в виду, что у вас есть метод set в классе активити, коий вы хотите вызвать из метода другого класса, то можно передать в метод Context, скастовать его к типу активити и вызвать set public void somMethodInSomeClazz(Context ctx, ...) { ActivityMain act = (ActivityMain) ctx; act.set(); } Тот же Context вы можете получить и из TextView методом getContext() и последующим кастованием ActivityMain act = (ActivityMain) textView.getContext();Ответ 2
А просто создать локальную или глобальную переменную типа Helper и вызвать у нее соответствующие методы перед установкой значения TextView, не вариант?
Комментариев нет:
Отправить комментарий