我想从xml布局注入一些视图到RoboFragment但不幸的是我得到了Nullpointer异常.由于RoboGuice(除了是一个很好的DI框架)只有很少的文档,我不知道我是否可以使用@ContentView(R.layout.fragmentlayout)来注释我的RoboFragment.我应该做些什么呢?我现在做的是:
public class TestFragment extends RoboFragment { @InjectView(R.id.upBtn) private Button upBtn; @Override public View onCreateView(LayoutInflater layoutInflater,ViewGroup container,Bundle savedInstanceState) { super.onCreateView(layoutInflater,container,savedInstanceState); View view = layoutInflater.inflate(R.layout.fragmentlayout,false); RoboGuice.getInjector(getActivity()).injectMembers(this); upBtn.setSelected(false); // <------ Null pointer here return view; } }
解决方法
如果你看一下RoboFragment的来源,你会看到
@Override public void onViewCreated(View view,Bundle savedInstanceState) { super.onViewCreated(view,savedInstanceState); RoboGuice.getInjector(getActivity()).injectViewMembers(this); }
如果您坚持手动注入,请使用injectViewMembers().如果你可以在onViewCreated()之后延迟触摸视图,那么它将为你设置.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。