簡體   English   中英

如何從位於同一 android 項目的另一個文件夾中的另一個 class 訪問變量?

[英]How to access variables from another class that are in another folder of the same android project?

我通過觸摸屏事件使用屏幕設計庫,這個設計的結果,這是我需要傳遞給另一個class的坐標,同一個項目的ActivityMain,但是在另一個文件夾中。 如何訪問來自我正在使用的庫的這些值。 下圖是我的項目在 android 上的組織方式。 該庫位於“庫”內的 java 語言中,我需要訪問項目默認文件夾中 mainactivity 中的變量,該文件夾采用 kotlin 語言。

在此處輸入圖像描述

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

主要活動:

import com.editing.canvas.library.ShapeDrawingActivity

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

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

退出日志 = 0.0

首先,您在 gradle 中初始化此模塊,在您的情況下它是一個庫,並在 gradle 文件中添加此模塊的依賴項。 然后調用 class android 自動導入你的 package 中的模塊,你就得到了變量。

ShapeDrawingActivity:ShapeDrawingActivity = ShapeDrawingActivity()
ShapeDrawingActivity.startX

是的。 You can use using static variable, but make sure after completion of the task you need to deallocate static variable because static variable lives throughout the project even if you change activity or class.

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 中像這樣使用

class MainActivity : AppCompatActivity(){

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM