I try to start an activity from my fragment but get this error:
Caused by: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter bundle
I use java and don't know why I get kotlin error
this is my fragment:
public class LoginFragment extends Fragment {
private FragmentLoginBinding binding;
private AuthSharedViewModel sharedViewModel;
@Override
public View onCreateView(@NotNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_login, container, false);
sharedViewModel = ((LoginActivity) getActivity()).viewModel;
binding.setViewmodel(sharedViewModel);
binding.setLifecycleOwner(this);
onClickListener();
return binding.getRoot();
}
private void onClickListener() {
binding.loginBtn.setOnClickListener(v -> {
Intent intent = new Intent(getActivity(), MainActivity.class);
startActivity(intent);
});
}
@Override
public void onDestroyView() {
super.onDestroyView();
sharedViewModel.getIsFetchSmsSuccessful().removeObservers(this);
}
}
code get error on fragment but work on activity.
any body can help??
Finally I found my god dammit solution. the problem is I use KeyboardVisibilityEvent library to control hide and visibility keyboard.
I use this code to control:
KeyboardVisibilityEvent.setEventListener(getActivity(), this::updateKeyboardStatusText);
but I must pass the activity in method to handle life cycle
KeyboardVisibilityEvent.setEventListener(getActivity(), getActivity(), this::updateKeyboardStatusText);
hope help someone. thanks everyone