zoukankan      html  css  js  c++  java
  • 动态使用Fragment

    布局文件就不给出了=_=

    public class MyFragment extends Fragment {
    
    
        public static String s1="Yeah";//用于保存getArguments()获得的参数
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            if(getArguments()!=null)
                s1=getArguments().getString("name");
        }
    
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
    
            super.onCreate(savedInstanceState);
            View view=inflater.inflate(R.layout.fragment_my, container, false);
            Button button= (Button)view.findViewById(R.id.fragment_button);
    
            button.setText(s1);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
    
                }
            });
            return view;
        }
    }



    public class FragmentTestActivity extends Activity {
    
        int nowButton=0;int MAXBUTTON=2;
        public String MY_TAG="FFF";
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_fragment_test);
            Button button=(Button)findViewById(R.id.start_fragmentButton);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    switch (nowButton)
                    {
                        case 0:
                           //设置要传递给Fragment的参数
                            Bundle bundle=new Bundle();
                            bundle.putString("name", "Zzzzz");
                            MyFragment myFragment=new MyFragment();
                            myFragment.setArguments(bundle);
                            //开启一个事务
                            FragmentManager fragmentManager=getFragmentManager();
                            FragmentTransaction transaction=fragmentManager.beginTransaction();
                            transaction.add(R.id.linear_fratment, myFragment, MY_TAG);
                            transaction.addToBackStack(null);
                            transaction.commit();
                            break;
                        case 1:
                           getFragmentManager().popBackStack();//模拟返回栈,将Fragment退栈
                            break;
                        default:break;
                    }
                    nowButton=(nowButton+1)%MAXBUTTON;
                }
            });
    
        }
    }



    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    svn版本更新
    前端复选框的全选与获取数据
    关于博主的职业生涯历程
    Presto部署指南
    linux下简单好用的端口映射转发工具rinetd
    阿里云时间服务器
    mongodb常用操作
    mysql常用操作
    mysql内存分配问题
    zabbix微信发送消息脚本
  • 原文地址:https://www.cnblogs.com/Thereisnospon/p/4768452.html
Copyright © 2011-2022 走看看