Tho*_*kos 6 android dependency-injection roboguice
我想从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, container, false);
RoboGuice.getInjector(getActivity()).injectMembers(this);
upBtn.setSelected(false); // <------ Null pointer here
return view;
}
}
Run Code Online (Sandbox Code Playgroud)
Ron*_*onU 14
如果你看一下RoboFragment的来源,你会看到
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
RoboGuice.getInjector(getActivity()).injectViewMembers(this);
}
Run Code Online (Sandbox Code Playgroud)
如果您坚持手动注射,请使用injectViewMembers().如果您可以延迟触摸视图onViewCreated(),那么它将为您设置.
| 归档时间: |
|
| 查看次数: |
4166 次 |
| 最近记录: |