我有一个名为 BaseActivity (extends Activity) 的抽象类,它有一个函数
公共抽象无效 onLocationChanged();
所有其他活动都扩展了这个类。当我调用 BaseActivity 的 onLocationChanged() 方法时,我希望实现此方法的所有其他类都会调用它们的 onLocationChanged() 方法或至少调用当前位于堆栈顶部的活动,但似乎只有一个活动调用方法,它不是堆栈顶部的方法。
有人可以帮忙吗?
这是我的代码的相关部分:
abstract class BaseActivity extends FragmentActivity {
public static MyLocation location = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (location == null) {
location = new MyLocation(this);
}
}
public abstract void onLocationChanged();
}
public class MyLocation {
BaseActivity parrent;
public MyLocation(BaseActivity act) {
public MyLocation(BaseActivity act) {
this.parrent = act;
}
public void refreshMyLocation() {
/*location get refreshed here*/
this.parrent.onLocationChanged();
}
}
public class MainActivity extends BaseActivity {
@Override
public void onStart() {
BaseActivity.location.refreshMyLocation();
}
public void onLocationChanged() {
/*some stuff*/
}
}