zoukankan      html  css  js  c++  java
  • fragment初识

    ragement:碎片,ui的一个部分或行为,类似于activity,需嵌入在activity中,一个activity包含多个fragement,可以最大程度适配不同尺寸的手机activity的一部分Oncreate:全局变量赋值,初始化信息。在此之前,已经创建Onattach:fragement绑定activity

    Oncreate:
    oncreateView:给fragement设置页面
    OnactivityCreated:
    ondestroyView()
    Ondestroy()
    Ondetach()
    Fragement使用步骤:创建fragement布局文件继承fragement类自定义fragement,实现相关方法Layoutinflate:布局加载器控件?

    动态添加:直接在布局文件中引用

    静态添加:

    public class SecondFragment extends FragmentActivity implements OnClickListener,OnBackgroundChangeListener{
        private Button btnadd;
        @Override
        protected void onCreate(Bundle arg0) {
            // TODO Auto-generated method stub
            super.onCreate(arg0);
            setContentView(R.layout.second_fragment);
            btnadd=(Button) findViewById(R.id.addfragment);
            findViewById(R.id.addfragment).setOnClickListener(this);
            findViewById(R.id.delfragment).setOnClickListener(this);
            findViewById(R.id.hidefragment).setOnClickListener(this);
            findViewById(R.id.showfragment).setOnClickListener(this);
            findViewById(R.id.btnChange).setOnClickListener(this);
        }
    
        @Override
        public void onClick(View v) {
            FragmentTransaction ft;
            switch(v.getId()){
            case R.id.addfragment:
                //添加fragment道activity
                FragmentManager fm=getSupportFragmentManager();
                ft=fm.beginTransaction();
                ft.add(R.id.fragmentContainer, new FirstFragement(), "chaos");
                
    
                ft.commit();
                break;
            case R.id.delfragment:
                //ft=getSupportFragmentManager().beginTransaction();
                Fragment f=getSupportFragmentManager().findFragmentByTag("chaos");
                ((FirstFragement)f).setOnBackgroundChangeListener(this);
                //ft.remove(f);
                //ft.commit();
                break;
            case R.id.showfragment:
                ft=getSupportFragmentManager().beginTransaction();
                Fragment sf=getSupportFragmentManager().findFragmentByTag("chaos");
                ft.show(sf);
                ft.commit();
                break;
            case R.id.hidefragment:
                ft=getSupportFragmentManager().beginTransaction();
                Fragment hf=getSupportFragmentManager().findFragmentByTag("chaos");
                ft.hide(hf);
                ft.commit();
                break;
            case R.id.replacefragment:
                ft=getSupportFragmentManager().beginTransaction();
                ft.replace(R.id.fragmentContainer, new FirstFragement(), "chaoss");
                ft.commit();
                break;
            case R.id.btnChange:
                FirstFragement ff=(FirstFragement) getSupportFragmentManager().findFragmentByTag("chaos");
                if(ff==null){
                    return;
                }
                ImageView img=(ImageView) findViewById(R.id.img);
                img.setImageResource(R.drawable.bbe609315da7a9bfa65df713e7c168e0);
                break;
            default:
                break;
            }
            
        }
        public void onBackgroundChange(){
            btnadd.setBackgroundResource(R.drawable.bc494385774b8343123c5697ebeaeb9);
        }
        
        
    }
  • 相关阅读:
    org.dom4j.DocumentException: null Nested exception: null
    严重: 文档无效: 找不到语法。 at (null:2:19)
    微信 群好友 的返回微信号 有阉割
    Perl 面向对象的真正意思
    门外汉怎么成就咨询大单(1)——北漂18年(39)
    Perl 微信模块--Weixin::Client
    Solr使用入门指南
    Perl 对象是函数的第一个参数
    haproxy 4层负载
    mysql 从读负载
  • 原文地址:https://www.cnblogs.com/zhongshujunqia/p/3945807.html
Copyright © 2011-2022 走看看