从片段访问 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
如何从主机 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