首页 > 其他分享 >Fragment的动态创建

Fragment的动态创建

时间:2024-06-19 21:43:56浏览次数:22  
标签:androidx Fragment app 动态创建 fragment import

Fragment的动态创建

动态创建不同于静态创建,不需要写固定的xml文件,但是依然要有一个xml文件来当容器。

1.我们需要使用<androidx.fragment.app.FragmentContainerView/>

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".DynamicFragmentActivity">

    <androidx.fragment.app.FragmentContainerView
        android:id="@+id/frag_dy_1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />
</LinearLayout>

2.动态创建还需要在java代码中加入相应的动态创建的代码

package com.example.dataapplication;

import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;

import android.os.Bundle;

import com.example.dataapplication.fragment.BlankFragment1;
import com.example.dataapplication.fragment.BlankFragment2;

public class DynamicFragmentActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_dynamic_fragment);

        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction =  fragmentManager.beginTransaction();
        fragmentTransaction.add(R.id.frag_dy_1, BlankFragment2.class, null).commit();

    }
}

标签:androidx,Fragment,app,动态创建,fragment,import
From: https://www.cnblogs.com/bdsz/p/18257482

相关文章

  • Activity和fragment是如何交互的
    Fragment是Android中历史十分悠久的一个组件,在Android3.0(API级别11)的时候推出,时至今日已成为Android开发中最常用的组件之一在一开始的时候,引入Fragment的目的是为了在大屏幕(如平板电脑)上能够更加动态和灵活地设计界面,被定义为一个**轻量级Activity**而进行设计......
  • 冲刺06fragment_reg_chi_fil_inf.xml
    <?xmlversion="1.0"encoding="utf-8"?><FrameLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent&......
  • python watchdog检测到文件产生,动态创建进程,不指定进程数去处理,处理过程中需要写文件,
    如果希望在检测到文件时动态创建进程而不预先指定进程数,并确保写文件时不发生冲突,可以使用队列和锁的机制。以下是一个改进的方案:pythonfrommultiprocessingimportProcess,Queue,Lockfromwatchdog.observersimportObserverfromwatchdog.eventsimportFileSystemE......
  • etcd错误:Failed to defragment etcd member[127.0.0.1:2379] (context deadline excee
    etcd版本#etcdctlversionetcdctlversion:3.5.1APIversion:3.5问题在执行etcdctl--endpoints=http://127.0.0.1:2379defrag命令时,可能遇到错误:{"level":"warn","ts":"2024-06-12T18:20:17.444+0800","logger":"et......
  • mybatis的mapper中的sql涉及嵌套且外部引用导致的问题:XML fragments parsed from prev
    假设xxx.xml中有类似下方的sql嵌套:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mappernamespace="com.xx......
  • MFC中动态创建多个按钮并实现其消息响应
    我们需要根据程序输入或运行时信息在界面上动态生成一个或多个按钮,并分别添加消息响应,实现这一目标包括如下几步:1.在类中声明按钮变量指针CButtonbtnArray[n];2.在类中声明并定义按钮控件的ID, buttonID=10000;3.想要创建按钮的数量staticconstintn=6;主要这几行:af......
  • 自定义FlutterFragment的初始化路由没有生效
    问题:在自定义FlutterFragment的configureFlutterEngine方法中初始化页面路由发现一直是'/'原因:当configureFlutterEngine方法被调用时,Flutter已经完成了初始化并设置了默认的初始路由(通常是'/')。在Android项目中,FlutterFragment在onAttach方法中创建FlutterEngine。在......
  • C#.NET根据不同业务类别类型写入不同文件中,动态创建log4net实例验证
    C#.NET根据不同业务类别类型写入不同文件中,动态创建log4net实例验证 参考了:https://www.cnblogs.com/-dawn/p/8598566.html GetLog4netInstance:usinglog4net;usinglog4net.Appender;usinglog4net.Config;usinglog4net.Core;usinglog4net.Filter;usinglog4net.L......
  • FreeRTOS基础(三):动态创建任务
       上一篇博客,我们讲解了FreeRTOS中,我们讲解了创建任务和删除任务的API函数,那么这一讲,我们从实战出发,规范我们在FreeRTOS下的编码风格,掌握动态创建任务的编码风格,达到实战应用!目录一、任务函数二、动态创建任务的基本步骤2.1使能FreeRTOS的API函数2.2 定义动态创......
  • cesium实现动态创建广告牌
    import{globalColorList,globalTextColorList}from"../js/positionTools.js";/***广告牌设备图标函数类*/exportdefaultclassDeviceMarker{constructor(arg){}/***初始化广告牌*@param{*}text文字*@param{*}iconType图表类型*......