Передача переменных к внешнему классу
-
27-09-2019 - |
Вопрос
Я разделил свой класс Inner View с моего основного класса в свой собственный файл. В моем главном классе у меня есть вид на установку в виде OnTouchListener, который записывает движение пользователя в матрицу, чтобы он мог перевести и масштабировать вид. После отделения его все работает, но я не уверен, как пройти матрицу к представлению на OnDraw для обновления. Какие-либо предложения? Спасибо
Решение
Я могу придумать два способа сделать это:
Вы можете создать переменную для вашей матрицы в вашем классе View и метод, который принимает матрицу в качестве аргумента, и что обновляет VAR с этим значением матрицы. Затем вы можете вызвать этот метод из основного вида деятельности перед вызовом метода OnDaw (), который может затем использовать этот внутренний VAR для его расчетов и так далее.
Альтернатива будет для вашей матрицы VAR в вашем главном классе, чтобы быть статичным, чтобы вы могли назвать его с вашего представления, не требуя экземпляра вашего основного класса, доступного в вашем классе View.
Последний метод является лучшим, поскольку он не требует вашего приложения для поддержания двух вариантов, по существу одинаковым значением, но прежний способ может быть проще реализовать, в зависимости от того, как вычисляется ваша матрица.