从片段访问 MainActivity / ContainerActivity 中的项目

Access Items in MainActivity / ContainerActivity from fragments

如何从主机 activity 访问我的项目并在我的片段中使用它?

例如:

`

    <fragment
        android:id="@+id/fragment_home"
        android:name="androidx.navigation.fragment.NavHostFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:navGraph="@navigation/mobile_navigation"
        tools:layout_editor_absoluteX="175dp"
        tools:layout_editor_absoluteY="238dp" />

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        app:srcCompat="@android:drawable/ic_dialog_email" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>`

我想访问 FloatingActionButton 并将其装扮在片段中!!

答案很简单,只要你把这段代码写在你的片段里就可以了

FloatingActionButton fab;

然后找到Id:

fab = getActivity().findViewById(R.id.fab);

使用 getActivity() 方法。

你可以按照上面的答案去做。这是一个基于接口的方法。 1. 使用方法 A() 创建一个接口 2.在onCreateView()或onViewCreated()方法中初始化fragment中的接口对象 3. 在activity中实现接口 4. 从片段调用 A() 以控制 activity 中的项目或将数据发送到 activity