java - 无法从 fragment 启动 Activity ,出现 IllegalArgumentException

标签 java android android-activity fragment

我尝试从我的 fragment 启动一个 Activity ,但收到此错误:

Caused by: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter bundle

我使用 java,不知道为什么会出现 kotlin 错误

这是我的 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);
   }

}

代码在 fragment 上出错,但在 Activity 上工作。

任何机构都可以帮忙吗?

最佳答案

您可以在 fragment 中尝试此代码而不是“getActivity”:

private AppCompatActivity activity;

 @Override
  public void onAttach(@NonNull Context context) {
      super.onAttach(context);
      if (context instanceof AppCompatActivity) {
        activity = (AppCompatActivity) context;
    }
  }

然后在您的 clickListener 中

 Intent intent = new Intent(activity, MainActivity.class);
 activity.startActivity(intent);
 activity.finish();

关于java - 无法从 fragment 启动 Activity ,出现 IllegalArgumentException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61476155/

相关文章:

java - Windows Server 2008 的 Java 中的 os.name 系统属性值

java - 如何在java中获取Android应用程序开发中的特定日期?

flex 4.6 移动项目中的 android 权限

java - 在android上解密php加密数据

android - 如何用 MVP 实现 PhoneStateListener

android - 找不到处理 Intent twitter android 的 Activity

android - 打开分享操作的不可见 Activity (ACTION_SEND)

java - 当我尝试使用 Eclipse 用 Ja​​va 读取文件时,它总是说找不到它?

java - 在运行锁定文件的tomcat时移动文件

android - 使用包装器脚本时无法调试应用程序