Android学习笔记(十六)——碎片之间进行交互(附源码)
来源:互联网 发布:淘宝订单评价有效期 编辑:程序博客网 时间:2024/06/05 19:49
碎片之间进行交互
点击下载源码
很多时候,一个活动中包含一个或者多个碎片,它们彼此协作,向用户展示一个一致的UI。在这种情况下,碎片之间能进行通信并交换数据十分重要。
1、使用上一篇中创建的同一个项目,在fragment.xml中添加TextView的标识id:
android:id="@+id/lblFragment1"
2、在fragment2.xml中添加一个Button,用于与fragment1进行交互:<Button android:id="@+id/btnGetText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Get text in Fragment #1" android:textColor="#000000" />
3、将两个碎片重新添加到main.xml中:<fragment android:id="@+id/fragment1" android:name="net.zenail.Fragments.Fragment1" android:layout_width="0px" android:layout_height="match_parent" android:layout_weight="1" /> <fragment android:id="@+id/fragment2" android:name="net.zenail.Fragments.Fragment2" android:layout_width="0px" android:layout_height="match_parent" android:layout_weight="1" />
4、在FragmentsActivity.java中,注释掉上一篇中添加的代码,修改后如下:@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);/*FragmentManager fragmentManager = getSupportFragmentManager();FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();//WindowManager windowManager = getWindowManager();Display display = windowManager.getDefaultDisplay();if (display.getWidth() > display.getHeight()) {//Fragment1 fragment1 = new Fragment1();fragmentTransaction.replace(android.R.id.content, fragment1);} else {//Fragment2 fragment2 = new Fragment2();fragmentTransaction.replace(android.R.id.content, fragment2);}fragmentTransaction.commit();*/}
5、在Fragment2.java中添加如下代码,实现与Fragment1的交互:@Overridepublic void onStart() {// TODO Auto-generated method stubsuper.onStart();Button btnGetText = (Button) getActivity().findViewById(R.id.btnGetText);btnGetText.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubTextView lbl = (TextView) getActivity().findViewById(R.id.lblFragment1);//通过getActivity()方法获得当前嵌入了该碎片的活动,再使用findViewById()定位该碎片中包含的视图Toast.makeText(getActivity(), lbl.getText(), Toast.LENGTH_SHORT).show();}});}
6、按F11调试应用程序,在右侧的第二个碎片中单击按钮,可以看到弹出一个消息框,内容正是碎片1中TextView的内容,说明获取成功~
11 0
- Android学习笔记(十六)——碎片之间进行交互(附源码)
- Android学习笔记(十四)——在运行时添加碎片(附源码)
- Android学习笔记(十五)——碎片的生命周期(附源码)
- Android学习笔记(十三)——碎片(一)
- android学习笔记——Fragment(碎片)
- Android学习笔记(十六)
- Android学习笔记——AIDL跨进程服务的应用详解(附源码)
- Android学习碎片(三)——Handler、Message、Runnable之间的联系①
- Android学习笔记(十六)——DataPickerDialog
- Android学习笔记——碎片
- Android Service Activity三种交互方式(附源码)
- C++学习笔记(十六):对vector进行更多的操作——泛型算法
- 继承—Swift学习笔记(十六)
- nginx 源码学习笔记(十六)—— ngx_start_worker_processes子进程创建
- Android 学习笔记(十六):Widget-进度条
- Android 学习笔记(十六):Widget-进度条
- Android开发学习笔记秘籍(十六)
- Android学习笔记(十八)——使用意图筛选器和实现浏览网页(附源码)
- 【精确覆盖问题】DLX算法
- alloca 函数
- 简谈Filter
- SQL server数据的存储过程
- Java基础视频教程
- Android学习笔记(十六)——碎片之间进行交互(附源码)
- 一个好用的MATLAB工具包VLFeat
- poj3628 Bookshelf 2 DP 01背包
- JAVA 网络长短连接
- 开始python学习
- ANE接入平台心得记录(安卓)
- Java多线程(3)
- C++顺序栈的实现
- 修改JFileChooser对话框风格,设置打开对话框的默认文件名,获取改变路径之后的文件保存路径