gpt4 book ai didi

java - @AndroidEntryPoint 基类必须扩展 ComponentActivity,(支持)Fragment、View、Service 或 BroadcastReceiver

转载 作者:行者123 更新时间:2023-12-04 23:45:13 37 4
gpt4 key购买 nike

我正在尝试使用 viewmodel 并观察 DialogFragment 中的数据,我也在注入(inject) ViewModel,同时实现代码出错。 PFB 我的代码 fragment 。并帮助我找到合适的解决方案。

  • 当前对话 fragment
  • @AndroidEntryPoint
    public class MyFragmentFragment extends DialogFragment implements View.OnClickListener {

    public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_buycourse, container, false);
    myViewModel = new ViewModelProvider(this).get(MyViewModel.class);

    view = mBinding.getRoot();

    initViews();

    return view;
    }

    public static MyFragmentFragment newInstance(){
    return new MyFragmentFragment ();
    }
    }
  • 代码中的父 fragment
  • @AndroidEntryPoint
    public class HomeFragment extends Fragment {

    public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    mBinding.startBtn.setOnClickListener(v -> {
    DialogFragment dialog = new MyFragmentFragment ();
    dialog.setStyle(DialogFragment.STYLE_NO_TITLE, R.style.Theme_Learn365_NoActionBar);
    dialog.show(requireActivity().getFragmentManager(), "MyFragment");
    }
    }
    }
    当我运行它时,我得到“@AndroidEntryPoint 基类必须扩展 ComponentActivity、(支持)Fragment、View、Service 或 BroadcastReceiver。”而且我无法在 DialogFragment 中注入(inject) ViewModel。

    最佳答案

    我通过替换 解决了这个问题对话框 fragment 导入 及其工作正常;
    旧进口:
    进口 android.app.DialogFragment;
    新进口:
    进口 androidx.fragment.app.DialogFragment;

    关于java - @AndroidEntryPoint 基类必须扩展 ComponentActivity,(支持)Fragment、View、Service 或 BroadcastReceiver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68601611/

    37 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com