Приложение компилируется, но вылетает во время выполнения с нулевой ссылкой на объект.Я пытался отладить его, но не могу найти ошибку, но я знаю, что если я удалю setText в textview, который вызывает метод для извлечения String, который затем отображается в MainActivity через фрагмент (если я удаляю это без сбоев)что приводит меня к мысли, что мой нулевой объект связан с тем, как я не создал экземпляр модели представления.Неуверен в том, как это сделать.
попытался удалить и найти bufg из stacktrace, в котором говорится, что нулевая ссылка на объект находится в onActivityCreated во фрагменте, но Dagger генерирует код, где я теряюсь, как если бы я этого не делалзапустить его сборки и не показывает ошибки времени компиляции.
public class HomeFragment extends Fragment {
@Inject
HomeViewModel homeViewModel;
TextView tvFrag;
public HomeFragment() {
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v= inflater.inflate(R.layout.fragment_home, container, false);
return v;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
tvFrag = getActivity().findViewById(R.id.tv_frag);
tvFrag.setText(homeViewModel.getConnection()); //HERE
}
}
@FragmentScope
public class HomeViewModel extends ViewModel {
private DatabaseService databaseService;
private NetworkService networkService;
private NetworkHelper networkHelper;
@Inject
public HomeViewModel(DatabaseService ds, NetworkService ns, NetworkHelper nh){
this.databaseService = ds;
this.networkService = ns;
this.networkHelper = nh;
}
public String getConnection(){
return "Ben Mohammad Connected";
}
}
GitHub Link - https://github.com/BenMohammad/LearnDagger-STAGE_2-with-dagger-better
Должен вызвать метод getConnection () в viewModel и получить строку и отобразить фрагмент, который был добавлен в MainActivity.
Спасибо