Fragment基础使用
来源:互联网 发布:Win找mac共享文件 编辑:程序博客网 时间:2024/04/28 09:42
1、添加Fragment的方式有两种,一种是定义在XML文件中,一种是动态添加(需要xml中定义一个空的FrameLayout来作为容器)
动态添加
创建想要添加的Fragment
HeadlinesFragment firstFragment = new HeadlinesFragment();
如果希望传递参数可以这样设置
firstFragment.setArguments(getIntent().getExtras());
获取SupportFragmentManager、开始事务beginTransaction、进行的是添加操作add、提交commit
getSupportFragmentManager().beginTransaction().add(R.id.fragment_container,firstFragment).commit();
这里需要注意一点就是当前Activity需要继承FragmentActivity或者ActionBarActivity等支持Fragment。
获取定义在Xml中的Fragment
ArticleFragment articleFrag = (ArticleFragment)getSupportFragmentManager().findFragmentById(R.id.article_fragment);
定义在xml文件中的Fragment不可动态移除掉
2、进行替换Fragment操作
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); transaction.replace(R.id.fragment_container, newFragment);
如果想回到替换前的Fragment,添加返回导航
transaction.addToBackStack(null); transaction.commit();
3、Fragment to Activity communication
在Fragment中定义一个接口,需要在Activity中实现该接口,在onAttach(Activity activity)方法中判断Activity是否已实现了接口。
Define an Interface
// Container Activity must implement this interface public interface OnHeadlineSelectedListener { public void onArticleSelected(int position); } @Override public void onAttach(Activity activity) { super.onAttach(activity); // This makes sure that the container activity has implemented // the callback interface. If not, it throws an exception try { mCallback = (OnHeadlineSelectedListener) activity; } catch (ClassCastException e) { throw new ClassCastException(activity.toString() + " must implement OnHeadlineSelectedListener"); } }
通过在Fragment中调用接口中的方法,即可与Activity communication。
4、All Fragment-to-Fragment communication is done through the associated Activity. Two Fragments should never communicate directly.
5、Deliver a Message to a Fragment
在Activity中获取Fragment的实例,判断是否非空,调用Fragment中的公共函数,通过参数传递Message。
- Fragment基础使用
- Fragment基础使用
- android fragment的基础使用
- Android Fragment的使用基础
- HorizontalScrollView与Fragment基础使用
- HorizontalScrollView与Fragment基础使用
- Fragment的基础认知和基本使用
- Android基础使用之Fragment详解一
- Shader 基础使用(三) ----- vertex & fragment
- Android基础总结八:Fragment的使用
- Fragment基础点滴学习---Activity传递数据到Fragment(Fragment使用静态加载的方式)
- Fragment基础
- fragment基础
- fragment基础
- fragment基础
- Fragment基础
- Fragment基础
- Fragment基础
- cstring 查找字符串 expression incorrect format specifier,0解决办法
- Android的Notification研究
- OpenCV学习笔记(14):形态学滤波对图像进行边缘及角点检测
- 可编辑子项的ListCtrl
- Linux下Ctrl+D、Ctrl+C和Ctrl+Z的联系及区别
- Fragment基础使用
- libsvm交叉验证与网格搜索(参数选择)
- 领域模型、贫血模型
- mahout spectral聚类1
- 项目0:是春哥啊
- 职业规划
- java object之clone
- Android之Volley
- leetcode第十四题(easy)——Longest Common Prefix