複数のActivity間で変数を共有する場合、
startActivityに渡すIntentで共有する方法もありますが、
各Applicationで1つのインスタンスしか生成されない、
Applicationクラスを拡張する方法もあります。
今回はそちらを紹介します。
Applicationクラスの拡張
class MyApp extends Application { private String myState; public String getState(){ return myState; } public void setState(String s){ myState = s; } }
変数の利用
class Blah extends Activity { @Override public void onCreate(Bundle b){ ... MyApp appState = ((MyApp)getApplicationContext()); String state = appState.getState(); ... } }
Manifest.xmlの編集
Manifest.xmlのApplication部分を変更する事を忘れないで下さい。
<application android:name=".MyApp" android:icon="@drawable/icon" android:label="@string/app_name">
0 件のコメント:
コメントを投稿