• Android笔记之Fragment初步


    1、 要使用fragment,首先需要创建一个类继承

    android.app.Fragment;

    Fragment1.java(需要给Fragment1配置布局文件f1.xml)

    import android.app.Fragment;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    
    public class Fragment1 extends Fragment {
    
        //初始化Fragment,实例化在Fragment中的成员变量
        @Override
        public void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
        }
        
        //给Fragment 加载UI布局,组件例如button,textview等等在这里去初始化
    @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub //这个布局没有父布局,所以root置空 View view=inflater.inflate(R.layout.f1, null); return view; } }

    2、Activity调用

    import android.os.Bundle;
    import android.app.Activity;
    import android.app.Fragment;
    import android.app.FragmentManager;
    import android.app.FragmentTransaction;
    import android.view.Menu;
    
    public class MainActivity extends Activity {
    
        private FragmentManager manager;
        private FragmentTransaction transaction;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            //将activity_main中的某一块换成fragment1
            manager=getFragmentManager();
            transaction=manager.beginTransaction();
            Fragment1 fragment1=new Fragment1();
            //content_frame的内容换成fragment1
            transaction.add(R.id.content_frame, fragment1);
            transaction.commit();
        }
    
    }

    3、使用到回退栈

            //加入Fragment回退栈的标志tag
            transaction.add(R.id.content_frame, fragment1,"fragment1");

    虽然是在同一个Activity下切换Fragment,但是由于回退栈,不会因为返回键而马上退出Activity,而是返回上一个fragment。

    manager.findFragmentByTag(arg0);
    manager.findFragmentById(id);

    4、涉及到的布局

    Activity的布局---》xml包含一个id

    注意这样的id一般是一个FrameLayout的布局,里面可以有其他的控件,比如textview等。但是该id不能够使用比如线性布局LinearLayout 等,否则replace之后原先的布局能被露出

    Fragment的布局---》xml

     transaction.add(Id, Fragment);

    Done!

  • 相关阅读:
    小记2_finddata_t结构体
    小记1
    2014-1-2 笔记
    _RecordsetPtr的 open函数
    SAFEARRAY
    用VC实现特定编辑框上对回车键响应
    常用控件的常用消息
    单文档与多文档
    java中得到json格式的数据
    form表单验证时的onsubmit事件
  • 原文地址:https://www.cnblogs.com/xingyyy/p/3607848.html
Copyright © 2020-2023  润新知