我有一個類擴展了應用程序在Android tabHost應用程序。在App類中,我一直在放置方法和變量,否則我需要在每個類中重新創建這些方法和變量。一種方法是從數據庫讀取數據並將結果存儲在ArrayList中(例如名字,姓氏)。而不是重新讀這個數據庫,並重新創建每個需要信息的標籤視圖的代碼,我堅持方法和ArrayList在擴展應用程序(myAppClass)的類。這樣,通過在onCreate()中的任何選項卡視圖中設置mAC = (myAppClass) getApplicationContext()
,我可以引用myAppClass中的所有get ..()和set ..()方法。靜態方法與類擴展android.app.Application?
我原來的計劃是使用靜態方法和變量的共享類,但我讀了很多「不這樣做」的線程,所以決定去應用程序路線。現在,我遇到了一種情況,我試圖在項目庫中使用myAppClass,但得到關於android.app.Application cannot be cast to...
的錯誤如果我將myAppClass更改回靜態方法/變量(並且不擴展應用程序),事情就會起作用,但這應該是假定的是一個很大的禁忌。有沒有另一種方法來做到這一點?不確定Android是否通過引用傳遞了所有內容,但是我最好通過在方法/類之間來回傳遞巨大(數千個對象/成員)ArrayLists來重新實現整個應用程序?
只有一個應用程序實例。不需要使用getter和setter。只需在子類應用程序中使用靜態方法/變量並以這種方式使用它們:MyApplication.myMethod()... – 2011-12-28 17:01:49