我有自定义视图,我想使用RoboGuice来获取视图引用。
我使用了这个例子:https://github.com/roboguice/roboguice/wiki/Your-First-Injection-into-a-Custom-View-class
我尝试了两个选项(v3,v3.1),但它似乎不起作用(在onFinishInflate中,我的成员为空)
如果重要,我的自定义视图继承自具有泛型类型的基本自定义视图。
有谁知道为什么会发生这种情况?
答案 0 :(得分:2)
尝试在injectMembers之后添加对injectViewMembers的调用,后者负责非视图注入。不确定为什么没有记录在案例代码中。
public ContactView(Context context, AttributeSet attrs) {
super(context, attrs);
this.attrs = attrs;
inflate(context,R.layout.contact_view, this);
if (!isInEditMode()) {
RoboGuice.getInjector(getContext()).injectMembers(this);
RoboGuice.getInjector(getContext()).injectViewMembers(this);
}
}