Roboguice注入适配器



我有一个适配器,它扩展了ArrayAdapter<T>,并希望将LayoutInflater注入其中。代码如下,但充气机始终为null

public abstract class MyAdapter<T> extends ArrayAdapter<T> {
    @Inject
    protected LayoutInflater inflater;
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // inflater here is null
    }
}

可能您已经使用new创建了MyAdapter实例,而不是注入它。

在这种情况下,我不建议注入LayoutInflater,除非您想使用此类的不同实现,例如LayoutInflater的mock进行测试。

获取构造函数中的实例:

inflater = LayoutInflater.from(context);

这样会更有效率。我看不出注射LayoutInflater有什么好处
依赖项注入是可以的,但不要在不必要和缓慢的时候使用它。

在任何类中注入依赖项

 RoboGuice.getInjector(context).injectMembers(this);

在构造函数中使用,只需要上下文,伟大的作品对我来说

最新更新