fragment的实现与互相通信
Android3.0后出来的新控件,主要是为了在平板和手机屏幕的兼容
实现效果:
点击Sd卡,出现SD目录下的所有文件和文件夹,点击外置Sd卡,出现外置Sd卡目录下的文件和文件夹.点击U盘,出现U盘目录下所有文件和文件夹。
实现如上图的效果,左边点击SD卡,右边显示gridView的内容,需要定义一个主Activity,main.xml中定义好布局,如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
android:id="@+id/root"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical"
>
</LinearLayout>
<LinearLayout
android:id="@+id/content"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical" >
</LinearLayout>
</LinearLayout>
Activity中加载方式:
private FragmentManager manager;
private FragmentTransaction transacion;
manager = getFragmentManager();
transacion = manager.beginTransaction();
rootfragment root = new rootfragment();
contentfragment content = new contentfragment();
transacion.add(R.id.root, root,"root");
transacion.add(R.id.content,content,"content");
transacion.commit();
接着定义左边和右边的fragment,先定义左边布局文件的内容,在rootfragment.java中进行加载,
public class rootfragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return inflater.inflate(R.layout.fragment_root, null);
}
}
同样的方式加载右边显示的内容,接着需要将两个fragment之间进行数据的传递:
contentfragment details = (contentfragment)getFragmentManager().findFragmentByTag("content");
获取到右边的fragment,通过该对象就可以将数据传递给contentfragment类,操作contentfragment里面的函数。这里需要传递文件路径给contentfragment,再让contentfragment进行刷新显示就可以了
fragment的实现与互相通信的更多相关文章
- Fragment与Activity之间的通信
我个人将Fragment与Activity间的通信比喻为JSP与Servlet间的通信,fragment中用接口的方式来进行与Activity的通信.通信的结果可以作为数据传入另一个Fragmen ...
- Android系列之Fragment(三)----Fragment和Activity之间的通信(含接口回调)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- 适配器(adapter)与fragment之间、fragment与activity之间的通信问题
一.适配器(adapter)与fragment之间通信 通过本地广播进行通信 步骤如下 在adapter中代码 声明本地广播管理 private LocalBroadcastManager local ...
- Fragment 与Activity之间的通信
1.Fragment-->Activity 在fragment中的onAttach()中引用Activity实现的接口实例. 2Activity-->Fragment 直接调用 3多个Fr ...
- Android -- TabHost、Fragment、状态保存、通信
工程结构 TabAFm到Ta ...
- Android -- ViewPager、Fragment、状态保存、通信
工程架构 TabAFm到Tab ...
- Fragment和activity之间的通信
1>fragment可以调用getactivity()方法获取它所在的activity. 2>activity可以调用FragmentManager的findFragmentById()或 ...
- Fragment间的通信
在网上看到的一篇文章,总结的很好 为了重用Fragment的UI组件,创建的每个Fragment都应该是自包含的.有它自己的布局和行为的模块化组件.一旦你定义了这些可重用的Fragment,你就可以把 ...
- Fragment之间的通信
在本节中,你会学到 1.定义接口 2.实现接口 3.将消息传递给fragment 为了重用Fragment UI 组件,在设计中你应该通过定义每一个fragemnt自己的layout和行为,让frag ...
随机推荐
- 再看C++引用类型
之前弃用博客园的原因是其不支持markdown语法.到今天偶然进来试了一下,发现Markdown toggle原来是能支持的(不知道是不是因为它升级了),遂重新启用. 在一年前学C++的时候就对引用, ...
- 分享一个linux和linux的文件传输【scp无密码传输】
很多时候,本地测试服务器想把文件传到线上服务器的时候,很多人都是通过登陆线上服务器ssh 传输,这样挺危险的,很多弊端....所以我找了下方法,发现scp挺好用的! 模拟环境: 192.168.147 ...
- SVN server的搭建
当做大的项目是,svn是代码管理的好工具,假设是用自己的server,那么须要搭建SVNserver. Subversion是一款很优秀的svnserver工具,笔者採用VisualSVN serve ...
- 使用jqMobi开发app基础:Badge的使用
显示效果: 红色的部分就是Badge,能够用来显示数量或者是其它的信息. 使用事实上非常easy, $.ui.updateBadge("#" + id, res.Msg, &qu ...
- rpc远程过程协议调用
在linux 5.X以及下的版本你可以通过service portmap status命令查看rpc是否启动.如果提示running,表示正在运行:如果提示stop就是关闭了.如果没有安装,则通过安装 ...
- Analyzing UI Performance with Systrace 使用systrace工具分析ui性能
While developing your application, you should check that user interactions are buttery smooth, runni ...
- Tips--怎么使用谷歌搜索
修改hosts即可: hosts在哪? windows下:C:\Windows\System32\drivers\etc 管理员身份打开,并将下载好的hosts文件内容,添加到原有的hosts文件末尾 ...
- composer之安装
最近想要学习下yii框架,所以,就看了下官网,看到了貌似比较依赖composer这个东西,然后我就安装了,但是会有问题,安装不上等等问题,不论是windows还是linux命令行安装,都是因为一个问题 ...
- C#中创建线程,创建带参数的线程
线程操作主要用到Thread类,他是定义在System.Threading.dll下.使用时需要添加这一个引用.该类提供给我们四个重载的构造函 构造函数定义: 无参数委托 [SecuritySafeC ...
- strace 使用