グローバル変数としてArrayListを使う
学習中の初心者です。
Realmで保存するシンプルなデータ(Id, String contents)を、アプリ起動時に読み込んでグローバル変数として保存しておき、複数のActivityで利用したいと考えています。
グローバル変数の準備として、
Manifest に <application android:name=".ThisApp"
を入れ、
ThisApp に下記のように入れました。
public class ThisApp extends Application {
//グローバルに使用する変数
public ArrayList<String> GlobalArrayList;
//初期化メソッド
public void GlobalArrayList(){
GlobalArrayList = new GlobalArrayList<String>();
}
そしてこのグローバル変数にRealmからデータを入力するのはMainActivityで行おうとして、まずMainActivityの変数定義に ThisApp GlobalArrayList;
を設定し、同じくMainActivityで読み込んだRealmResoltsをセットしようとして、下記のように入れました。
//Realmの設定
Realm mRealm = Realm.getDefaultInstance();
mRealmResults = mRealm.where(jobCategory.class).findAll();
mRealm.addChangeListener(mRealmListener);
// グローバル変数の取得、入力
GlobalArrayList= (TaskApp) this.getApplication();
GlobalArrayList.GlobalArrayList();
for (int i = 0; i < mCategoryRealmResults.size(); i++) {
GlobalArrayList.add(mRealmResults.get(i).getContents());
}
しかし最後の「GlobalArrayList.add(~)」の「add」が赤字になってしまいます。グローバル変数のArrayList.addというのは使えないのでしょうか。または、初心者なので、どこか文法が間違えているのでしょうか。