zoukankan      html  css  js  c++  java
  • Fragment切换页面

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
        
        <FrameLayout 
            android:id="@+id/container"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"/>
        
        <LinearLayout 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <Button
                android:id="@+id/a"
                android:onClick="click"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Fragment A"/>
             <Button
                 android:id="@+id/b"
                android:onClick="click"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Fragment B"/>
        </LinearLayout>
        
    </LinearLayout>
    View Code

    FragmentActivity.java

    package com.zyf;
    
    import android.os.Bundle;
    import android.support.v4.app.Fragment;
    import android.support.v4.app.FragmentManager;
    import android.support.v4.app.FragmentTransaction;
    import android.view.View;
    import android.widget.FrameLayout;
    
    /**
     * fragment 使用实例
     * @see http://developer.android.com/training/basics/fragments/fragment-ui.html
     * 
     * 3.0不需要继承FragmentActivity,因为3.0将比如getFragmentManager()方法已经加入到Activity中了。
     * 
     * 3.0以前版本要通过继承FragmentActivity获得类似功能。
     */
    public class FragmentActivity extends android.support.v4.app.FragmentActivity {
        
        FragmentManager fragmentManager;
        FrameLayout container;
        FragmentA a;
        FragmentB b;
         
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            
            setContentView(R.layout.main);
            
            // 得到框架布局控件
            container = (FrameLayout)findViewById(R.id.container);
            
            // 返回与此活动相关的片段进行交互的FragmentManager
            fragmentManager = this.getSupportFragmentManager();
            
            // 通过begintransaction方法获取一个事物处理实例。
            FragmentTransaction mFragmentTransaction = fragmentManager.beginTransaction();
            
            a = new FragmentA();
            b = new FragmentB();
            
            /** 在这期间可以使用 add(), remove(), 以及  replace(). 最终需要改变时执行 commit()即可 */ 
            mFragmentTransaction.add(R.id.container, a);
            mFragmentTransaction.commit();
        }
        
        public void click(View view) {
            switch (view.getId()) {
                case R.id.a: // 按钮A
                    show(a);
                    break;
                case R.id.b: // 按钮B
                    show(b);
                    break;
                default:
                    break;
            }
        }
        private void show(Fragment frament) {
            FragmentTransaction mFragmentTransaction = getSupportFragmentManager().beginTransaction();
            mFragmentTransaction.replace(R.id.container, frament);
            mFragmentTransaction.addToBackStack(null);
           // mFragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);//设置动画效果
            mFragmentTransaction.commit();
        }
    }
    View Code

    FragmentA.java

    package com.zyf;
    
    import android.content.Intent;
    import android.os.Bundle;
    import android.support.v4.app.Fragment;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.Button;
    
    public class FragmentA extends Fragment {
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
        }
    
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
                
            View view = inflater.inflate(R.layout.fa, container, false);
            
            // "AAAAAAAAAAAAA"按钮
            Button btn = (Button)view.findViewById(R.id.next);
            btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(Intent.ACTION_VIEW);
                    startActivity(intent);
                }
            });
            return view;
        }
        
    //    public void next(View view) {
    //        Intent intent = new Intent(Intent.ACTION_VIEW);
    //        startActivity(intent);
    //    }
    }
    View Code

    FragmentB.java

    package com.zyf;
    
    import android.os.Bundle;
    import android.support.v4.app.Fragment;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    
    public class FragmentB extends Fragment {
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
        }
        
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
                
            return inflater.inflate(R.layout.fb, container, false);
        }
        
    //    public void next(View view) {
    //        Intent intent = new Intent(Intent.ACTION_VIEW);
    //        startActivity(intent);
    //    }
    }
    View Code
  • 相关阅读:
    centos开机自启
    yum离线安装
    centos6开机自启
    centos下压缩文件夹
    解析xml的工具类 * 1、将多层级xml解析为Map * 2、将多层级xml解析为Json
    获取当前时间近12个月的集合
    使用cmd导出mysql数据到excel
    冒泡排序,桶排序,快速排序
    项目遇到的管理问题
    poi导出excel,表头数据动态拼装
  • 原文地址:https://www.cnblogs.com/androidsj/p/3236881.html
Copyright © 2011-2022 走看看