[英]How can I use an array which is in a different class?
我在一個活動中設置了一個2D數組,我想將其稱為片段,以便可以使用其內容。 該數組稱為“名稱”。 我不了解執行此操作的步驟。
您可能需要對Singleton設計模式進行一些閱讀。 但與此同時,我會讓您開始。
創建一個“ MyData”類,其中將包含您要共享的所有變量/數組。 然后,您只需要一個getter方法來調用該類。 完成此操作后,您將可以訪問所有共享變量。 :)
示例MyData類:
public class MyData
{
private static MyData _instance;
/* <Shared variables go here> */
public String sharedVariable = "yay this is shared!";
public String sharedVariable2 = "this is also shared!";
public String myArray[][];
/* </Variables> */
public static MyData getMyData()
{
if(_instance == null)
_instance = new MyData();
return _instance;
}
}
您要在其中設置數據的示例活動/片段:
MyData data = MyData.getMyData();
data.myArray[0][0] = "test";
您想要獲取所設置數據的示例活動/片段:
MyData data = MyData.getMyData();
String result = "";
result = data.myArray[0][0];
// result will now = "test"
通過使用此結構,如果第一次調用MyData類,它將創建實例,如果已經調用了該實例,則它將簡單地返回_instance,它將包含您設置的所有變量。
免責聲明:當您的應用程序最小化或空閑一段時間后,Android OS會清除類中的所有變量。 您有三種選擇可以避免這種情況:
我通常選擇選項3,因為它通常最適合我的需求。
祝好運!
將您的數組公開,然后像這樣從片段中調用
OtherActivity.array []
您可以照常執行所有其他操作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.