私はxmlファイルを解析するように構成するクラスAを持っています。クラス B は A を拡張し、以前よりも多くのタグを持つ xml ファイルを解析するように構成します。
class A {
protected String mFoo;
protected loadFromXml (...){
...
mFoo = ...
...
}
}
class B extends A {
protected String mBar;
protected loadFromXml (...){
super.loadFromXml(...);
...
mBar = ...
...
}
}
これで、クラス A を介して自分自身を構成する ActivityA ができました。
class ActivityA extends Activity {
protected A mAInstance;
public void onCreate(Bundle savedInstanceState) {
...
mAInstance.loadFromXml(...);
...
other code...
...
}
}
およびアクティビティ B:
class ActivityB extends ActivityA{
protected B mBInstance;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
mBInstance.loadFromXml(...);
...
}
}
問題は、ActivityB が mAInstance と mBInstance を保持しており、これらが同じデータ (mFoo) のサブセットを共有していることです。mBInstance のみをロードする方法は? もちろん、ActivityB の onCreate でスーパーを呼び出す必要があります...