在Android开发中,Fragment是一个重要的组件,用于构建灵活的用户界面。在使用Fragment时,有时候我们需要从一个Fragment中获取另一个Fragment中的数据。那么在fragment的onViewCreated方法中,我们可以通过findViewById方法来获取其他Fragment中的RecyclerView中的数据。首先,我们需要确保在获取数据之前,RecyclerView已经被初始化并填充了数据。然后,我们可以通过FragmentManager的findFragmentById方法来获取目标Fragment的实例,再通过实例的findViewById方法来获取RecyclerView的实例。最后,我们可以通过RecyclerView的适配器来获取数据。这样,我们就可以在当前的Fragment中获取到另一个Fragment中RecyclerView的数据了。这是一个简单而有效的方法,可以帮助我们在Android开发中更好地处理数据的传递和共享。
我有片段 workoutfragment 和 bundle,用于将数据传输到片段 delitefragment:
fragmentmanager fragmentmanager = getfragmentmanager(); fragmenttransaction fragmenttransaction = fragmentmanager.begintransaction(); fragmenttransaction.replace(r.id.fragment_container, new delitefragment()); fragmenttransaction.commit();
在 delitefragment 中,我有一个 onviewcreated 方法,其中回收器视图数据调用被锁定。
@Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); //******************************** getting data from DeliteFragment getParentFragmentManager().setFragmentResultListener("text from WOF to AFJ", this, new FragmentResultListener() { @Override public void onFragmentResult(@NonNull String requestKey, @NonNull Bundle textBundle) { Integer number_workout_train_position = textBundle.getInt("text from WOF to AFJ"); String nameDayTrain = new CardSourceImplDayTrain(getActivity()).getCardData(number_workout_train_position).getTitle().toString(); } }); String nameDayTrainRW = nameDayTrain; recyclerView = view.findViewById(R.id.train_delite_recycleView); cardSource = new CardSourceImplDelite(getActivity().getApplicationContext(),nameDayTrainRW,nameDayTrainRW); adapter = new itemAdapterDelite(cardSource); }
如何在 onviewcreated 中获取数据 namedaytrain? (所以它将转到recyclerview适配器)
使用 AndroidX 视图模型库与您的 Activity 和片段进行通信。这非常简单✍️
这里: AndroidX Jetpack ViewModel
以上是如何从另一个fragment获取recycleView的fragment onViewCreated中的数据?的详细内容。更多信息请关注PHP中文网其他相关文章!