我的 android 应用程序中有两个片段,当我从一个片段移动到另一个片段并做了一些工作并且回来时我想将一些结果传递给我的第一个片段。如果是的话,这可能意味着如何请帮助
问问题
762 次
2 回答
0
Use callbacks to interact between Fragments Developer Android
于 2013-07-09T09:32:48.493 回答
0
让活动对其片段应用更改比直接在片段之间传递值更好。让您的 Activity 使用 onQuery(Bundle data) 和 onResult(Bundle data) 方法实现 FragmentListener 接口。
在每个片段中创建一个 FragmentListener 变量,然后将每个片段的 onAttach() 覆盖为:
public void onAttach(Activity activity) {
super.onAttach(activity);
//---register parent activity for events---
try{
fragmentListener = (FragmentListener) activity;
}catch (ClassCastException e)
{
throw new ClassCastException("Parent activity must implement interface FragmentListener.");
}
}
这将强制您的子片段自动注册到父 Activity。
现在您可以从片段中调用您的活动。
另一方面,您的 Activity 始终可以使用 getFragmentManager().findFragmentByTag("fragmentA") 或 findFragmentById("FragmentA") 搜索片段。如果它可以找到您的 Fragment,那么它可以将其转换为您的 FragmentA 类并调用其方法。FragmentB 或任何其他片段也可以这样做。
于 2013-07-09T09:38:50.647 回答