我需要扩展ActionBarImpl,它是com.android.internal.app
的一部分。但不建议这样做,因为它必然会在新的Android版本中随时更改
由于我不打算重新实施ActionBarImpl
,我认为我会以这种方式创建一个类“欺骗”:
public class MyActionBar extends ActionBar {
private ActionBar ab;
public MyActionBar(Activity activity) {
ab = activity.getActionBar();
}
@Override
public void setCustomView(View view) {
ab.setCustomView(view);
}
... (so on with all ActionBar abstract methods)
单词:我扩展ActionBar
+有一个私有成员,我获得实际活动的ActionBar
并委托所有方法调用。
这样做有什么缺点吗?我不打破兼容性,是吗?
答案 0 :(得分:0)
您要做的是应用Decorator模式。但它似乎不能按你的意愿工作,因为你的活动仍将使用ActionBar的原始实例,而不是装饰的实例。