複数の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 件のコメント:
コメントを投稿