【发布时间】:2010-12-24 03:34:18
【问题描述】:
我正在尝试创建一个 View 类,它根据创建方式提供水平或垂直布局。我正在使用委托来实现这一点。
class View extends Manager {
private Manager mDelegate;
public View(Manager inDelegate) {
mDelegate = inDelegate;
// the delegate is the only child of "this" manager.
super.add(mDelegate);
}
public void add(Field f) {
// all other children go into the delegate.
mDelegate.add(f);
}
// other methods that also delegate
}
当我实例化一个视图对象时,我传入一个水平或垂直字段管理器,然后将调用委托给它。这有点像黑莓中的 Screen 类。
实际上,我正在查看 Screen 的黑莓文档以查看它所代表的调用(因此我可以模拟它),并且我注意到 Screen 中的调用是这样的......
protected boolean keyChar(char c, int status, int time)
将密钥生成事件委托给具有焦点的受控字段。 此方法在此屏幕的委托管理器上调用 Manager.keyChar(char, int, int)。
然后我立刻明白了,他们到底是如何在屏幕的委托上调用受保护的方法的?还是文档有误,并且没有委托此方法?
有人知道他们是如何做到这一点的吗?
【问题讨论】:
标签: user-interface blackberry layout