Android 两个Fragment之间传递数据实例详解
作者:lqh 时间:2022-06-23 19:30:09
Android 两个Fragment之间如何传递数据
FragmentA启动FragmentB,做一些选择操作后,返回FragmentA,需要把FragmentB里面选择的数据传回来。有什么办法?
Fragment之间不能直接通信,必须通过Activity来完成,具体步骤。
1. 在FragmentA中定义通信接口,通过该接口向Activity发送数据。
public class FragmentA extends Fragment {
private onButtonPressListener mListener;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_linmo_select_beitie, container, false);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
mListener.onOKButtonPressed(selectedBeitie);
}
});
return view;
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
mListener = (onButtonPressListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString() + " must implement onOkButtonPressed");
}
}
public interface onButtonPressListener {
void onOKButtonPressed(LinmoBeitieItem item);
}
}
2. 在Activity中实现该接口,并通过该接口向FragmentB传递数据。
public class MainActivity extends Activity implements FragmentA.onButtonPressListener {
@Override
public void onOKButtonPressed(LinmoBeitieItem item) {
FragmentB fragmentB = (FragmentB)getFragmentManager().findFragmentById(R.id.container);
fragmentB.onBeitieSelected(item);
}
}
3. FragmentB接收到数据并处理。
public class FragmentA extends Fragment {
public void onBeitieSelected(LinmoBeitieItem item) {
// ...
}
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
来源:http://www.cnblogs.com/graphics/p/5151547.html
标签:Android,Fragment,数据传递
0
投稿
猜你喜欢
Java C++ 算法题解leetcode669修剪二叉搜索树示例
2022-09-22 04:56:13
关于工厂方法模式的Java实现
2021-12-20 18:06:13
JavaWeb项目Servlet无法访问问题解决
2022-10-10 03:33:52
Mybatis实现分表插件
2023-07-23 12:41:54
Android下拉列表spinner的实例代码
2023-07-31 20:39:47
Java超详细讲解设计模式之一的单例模式
2023-03-09 10:59:09
Unity Shader实现3D翻页效果
2021-10-07 10:03:45
如何在mapper文件中使用in("str1","str2")
2023-07-10 10:40:51
Java工厂模式的使用细则介绍
2022-03-18 01:57:22
C#6.0中你可能不知道的新特性总结
2023-08-17 04:25:54
举例说明自定义C++异常处理的实例
2022-10-25 13:45:27
Java后端学习精华之TCP通信传输协议详解
2021-08-06 03:15:42
java清除u盘内存卡里的垃圾文件示例
2023-05-12 06:41:38
Linux+Docker+SpringBoot+IDEA一键自动化部署的详细步骤
2023-08-12 15:25:39
Spring bean的实例化和IOC依赖注入详解
2023-11-23 23:57:15
C#实现简单聊天程序的方法
2022-01-02 22:31:20
java日期操作工具类(获取指定日期、日期转换、相隔天数)
2023-11-28 06:42:53
Java实现批量导入excel表格数据到数据库中的方法
2021-06-22 07:39:49
Android 将view 转换为Bitmap出现空指针问题解决办法
2022-02-12 02:17:23
java 实现将一个string保存到txt文档中
2022-07-30 05:32:38