按照Android开发者文档添加Fragment不起作用怎么办?
创始人
2024-08-23 10:00:16
0
  1. 确保Activity已经设置了布局,布局中必须要有fragment的容器。

例如,在activity_main.xml中可以添加一个FrameLayout来作为fragment的容器:


 
    
 

  1. 创建Fragment

例如,新建一个MyFragment类,继承自Fragment,并重写onCreateView方法:

public class MyFragment extends Fragment {
 
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater,
                             @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_my, container, false);
        //初始化控件,设置事件监听等
        return rootView;
    }
}
  1. 在Activity中加载Fragment

例如,在MainActivity中加载MyFragment:

public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        //加载MyFragment
        MyFragment fragment = new MyFragment();
        getSupportFragmentManager().beginTransaction()
                .add(R.id.fragment_container, fragment).commit();
    }
}
  1. 注意事项:
  • fragment的容器ID必须和beginTransaction().add()中的ID一致;
  • 加载fragment时,需要在Activity的onCreate方法中执行;
  • 当Activity被销毁时,FragmentManager会自动保存fragmentBackStack的状态,在Activity被恢复时,FragmentManager会自动恢复fragmentBackStack的状态。
  • 如果添加的fragment已经处于显示状态,那么使用add方法添加不起作用,需要使用replace方法。

相关内容

热门资讯

透视线上"wepok... 透视线上"wepoker透视最简单三个步骤"详细辅助总结教程(高级辅助透明);wepoker透视最简...
透视透视挂"wepo... 透视透视挂"wepoker辅助器最新版本更新内容"详细辅助教你教程(内置辅助攻略),支持语音通讯、好...
透视辅助"竞技联盟透... 透视辅助"竞技联盟透视插件"详细辅助曝光教程(黑侠辅助器正版下载方法);人气非常高,ai更新快且高清...
透视好牌"aapok... 透视好牌"aapoker透视插件"详细辅助必赢教程(辅助器下载透视);实战中需综合运用上述技巧,并根...
透视挂透视"xpok... 透视挂透视"xpoker辅助神器"详细辅助高科技教程(免费脚本咨询教程)1、不需要AI权限,帮助你快...
透视私人局"德普之星... 1、透视私人局"德普之星辅助器"详细辅助揭秘教程(透视脚本是有挂方法)2、进入游戏-大厅左侧-新手福...
透视插件"wepok... 透视插件"wepoker作弊视频"详细辅助高科技教程(的辅助器技巧);实战中需综合运用上述技巧,并根...
透视安卓版"wepo... 透视安卓版"wepoker透视是真的吗"详细辅助科技教程(脚本透视);小薇(透视辅助)致您一封信;亲...
透视app"wepo... 透视app"wepoker免费脚本咨询"详细辅助系统教程(手机助手攻略);小薇(透视辅助)致您一封信...
透视能赢"wpk辅助... 透视能赢"wpk辅助插件"详细辅助AA德州教程(智能辅助插件技巧);1分钟了解详细教程(微信 136...