现在,我想用我自己的 AppCompatDelegate 替换所有视图。 并覆盖方法 createView ,以便我可以更新项目中的所有视图。
现在我可以像这样进行更新了:
public class UpdatedView extends View
在 AppCompatDelegate 中:
public View createView(String name) {
if ("View".equals(name)) {
return UpdatedView();
}
}
现在,我面临的问题是可以为所有View创建一个视图包装器。这样我就可以这样写
public class ViewWrapper extends View{
View realView;
@Override
public void methods() {
//override the method which is need, like ondraw, onClick
doUpdateThings();
realView.methods();
}
}
包装所有这样的视图。
public View createView(String name) {
if ("View".equals(name)) {
return UpdatedViewWrapper(new View());
}
}
添加了一些提示:看来,我不需要替换委托,但只要覆盖 onCreateView 就足够了。