如何从同一Android项目的另一个文件夹中的另一个类访问变量?

时间:2020-04-03 23:18:03

标签: java android kotlin mobile

我正在通过触摸屏事件使用屏幕设计库,这种设计的结果是我需要传递给另一个类(同一项目的ActivityMain,但在另一个文件夹中)的坐标。我如何访问来自我正在使用的lib的这些值。以下是我的项目在android上的组织方式图像。该库位于“库”中的Java语言中,我需要在我的项目的默认文件夹(即Kotlin语言)的mainactivity中访问变量。

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

MainActivity:

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 :(得分:0)

首先,在您的gradle中初始化此模块(如果您使用的是库),然后在gradle文件中添加此模块的依赖项。 然后叫课 android会自动将模块导入您的包中,然后您会得到变量。

ShapeDrawingActivity:ShapeDrawingActivity = ShapeDrawingActivity()
ShapeDrawingActivity.startX

答案 1 :(得分:0)

是的。您可以使用静态变量来使用,但是请确保在完成任务后需要取消分配静态变量,因为即使您更改活动或类,静态变量也会存在于整个项目中。

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())
}