在项目的开发过程中,动态创建fragment是没必要的,而且不太现实的,因为fragment要显示UI加载数据。因为我们的项目使用的跨平台的开发框架React Native,安卓的activity、fragment的只是用来显示js页面的容器,所有的业务都是js来实现的,包括底部的Tabbar切换都是js实现的,原生安卓只是显示出来。现在的需求是,根据底部的tabbar 创建fragment然后加载相应js的页面,默认只有一个fragment显示默认的js页面,比如默认首页,创建一个首页的fragment,切换到订单标签的时候再去创建订单的fragment,依次类推。
1、一般我们创建fragment的时候都是先一次性创建,然后往容器里面添加,像这样
private void initFragment() { //实例化fragment indexFragment = new IndexFragment(); newsFragment = new NewsFragment(); myFragment = new MyFragment(); originFragment = new OriginFragment(); //添加到数组 fragments = new Fragment[]{ indexFragment, newsFragment, myFragment, originFragment}; //添加到容器并显示默认 getSupportFragmentManager().beginTransaction().add(R.id.fl_container, indexFragment) .add(R.id.fl_container, newsFragment).add(R.id.fl_container, myFragment) .add(R.id.fl_container, originFragment).hide(originFragment) .hide(newsFragment).hide(myFragment).show(indexFragment