• 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进行刷新显示就可以了

  • 相关阅读:
    BZOJ2199[Usaco2011 Jan]奶牛议会——2-SAT+tarjan缩点
    BZOJ3862Little Devil I——树链剖分+线段树
    BZOJ2325[ZJOI2011]道馆之战——树链剖分+线段树
    BZOJ1018[SHOI2008]堵塞的交通——线段树
    BZOJ2733[HNOI2012]永无乡——线段树合并+并查集+启发式合并
    BZOJ4127Abs——树链剖分+线段树
    bzoj 4753 最佳团体
    bzoj 4472 salesman
    bzoj 5369 最大前缀和
    bzoj 1226 学校食堂Dining
  • 原文地址:https://www.cnblogs.com/james1207/p/3339648.html
Copyright © 2020-2023  润新知