Как получить доступ к переменным из другого класса, которые находятся в другой папке того же проекта android? - PullRequest
0 голосов
/ 04 апреля 2020

Я использую lib дизайна экрана через событие сенсорного экрана, результат этого дизайна, то есть координаты, которые мне нужно передать другому классу, ActivityMain того же проекта, но в другой папке. Как мне получить доступ к этим значениям, которые приходят из библиотеки, которую я использую. Ниже изображение того, как мой проект организован на android. Библиотека находится на языке java внутри «библиотеки», и мне нужно получить доступ к переменным внутри моей основной деятельности в папке по умолчанию моего проекта, которая находится на языке kotlin.

enter image description here

Приложение Gradle:

implementation project(':library')

Переменные:

public class ShapeDrawingActivity extends AppCompatActivity {

public float startX;
public float startY;
public float finalX;
public float finalY;
Log.i("value ", shape.startX.toString())
}

Выход из журнала = 1162.4032

MainAcitivy:

import com.editing.canvas.library.ShapeDrawingActivity

class MainActivity : AppCompatActivity(){
private val shape: ShapeDrawingActivity = ShapeDrawingActivity()

  Log.i("test return", shape.startX.toString())
}

Выход из журнала = 0,0

Ответы [ 2 ]

0 голосов
/ 04 апреля 2020

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

public class ShapeDrawingActivity extends AppCompatActivity {

public static float startX;
public static float startY;
public static  float finalX;
public static  float finalY;
Log.i("value ", siz.startX.toString())
}

и в другом классе используйте вот так

class MainActivity : AppCompatActivity(){

        Log.i("test return", ShapeDrawingActivity.startX.toString())
}
0 голосов
/ 04 апреля 2020

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

ShapeDrawingActivity:ShapeDrawingActivity = ShapeDrawingActivity()
ShapeDrawingActivity.startX
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...