Я хочу добавить некоторые виды из макета xml в RoboFragment, но, к сожалению, я получаю Nullpointer Exception. Поскольку RoboGuice (помимо того, что он является отличной базой DI), имеет очень мало документации, я не знаю, могу ли я использовать @ContentView(R.layout.fragmentlayout)
для аннотации моего RoboFragment. Я должен что-то сделать вместо этого? То, что я в настоящее время сделать это:
InjectView in 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;
}
}
Надеюсь, вы взглянули на эти два вопроса: http://stackoverflow.com/questions/9780769/android-roboguice-inject-views-on-fragment и http://stackoverflow.com/questions/8289660/ any-simple-examples-using-roboguice-with-fragments-in-android –
Да. Первый только указывает, что инъекция происходит во время onViewCreated, но я не знаю, как это сделать. Во втором я также попробовал RoboGuice.getInjector (getActivity()). InjectViewMembers (this); , но это не помогло. –