Frament

K8S部署Java项目(Gitlab CI/CD自动化部署终极版) 每个人都有惰性,但不断学习是好好生活的根本,共勉! 阅读详情

Frament的介绍

    可以把Fragment想成Activity中的模块,这个模块有自己的布局,有自己的生命周期,单独处理自己的输入,在Activity运行的时候可以加载或者移除Fragment模块。

  可以把Fragment设计成可以在多个Activity中复用的模块。

Frament的生命周期

因为Fragment必须嵌入在Acitivity中使用,所以Fragment的生命周期和它所在的Activity是密切相关的。

  如果Activity是暂停状态,其中所有的Fragment都是暂停状态;如果Activity是stopped状态,这个Activity中所有的Fragment都不能被启动;如果Activity被销毁,那么它其中的所有Fragment都会被销毁。

  但是,当Activity在活动状态,可以独立控制Fragment的状态,比如加上或者移除Fragment。

<?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"
    android:orientation="horizontal"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" tools:context="com.example.android_fragment.MainActivity">

   <fragment
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:id="@+id/res_left"
    android:name="com.example.android_fragment.fragmentLeft"
    ></fragment>
    <fragment
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="2"
        android:id="@+id/f_main_right"
        android:name="com.example.android_fragment.fragmentRigth"
        ></fragment>
</LinearLayout>
把这个View一分为二


 android:name="com.example.android_fragment.fragmentLeft"
这句代码是引用了一个View

<?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="com.example.android_fragment.fragmentLeft">

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/res_left_phone"
        ></ListView>
</LinearLayout>
 android:name="com.example.android_fragment.fragmentRigth"
<?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="com.example.android_fragment.fragmentRigth">

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/res_rigth_phone"
    ></TextView>
</LinearLayout>
最终结果是这样的你选择谁就调用谁的界面


代码如下:

       选择一个的用时就会调用一个View视图,我在这里简单的写了四个

package com.example.android_fragment;

import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class fragmentLeft extends Fragment {

    private ListView res_left_phone;
    private String[] list={"黄1","黄2","黄3","黄4"};
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view=inflater.inflate(R.layout.activity_fragment_left,null);
        res_left_phone = (ListView) view.findViewById(R.id.res_left_phone);
        ArrayAdapter aa=new ArrayAdapter(getContext(),android.R.layout.simple_list_item_1,list);
        res_left_phone.setAdapter(aa);
        res_left_phone.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                //情况:右边是不同的布局
                //获取碎片的管理者
               FragmentManager fm=getFragmentManager();
                //获取事务
                FragmentTransaction ft=fm.beginTransaction();

                switch (position) {
                    case 0:
                        WjFragment wjFragment=new WjFragment();//这是new了自己写的和他相对应的View视图
                        //替换
                        ft.replace(R.id.f_main_right,wjFragment) ;
                        break;
                    case 1:
                        BgFragment bgFragment=new BgFragment();//这是new了自己写的和他相对应的View视图

                        ft.replace(R.id.f_main_right,bgFragment) ;
                        break;
                    case 2:
                        XxFragment xxFragment=new XxFragment();//这是new了自己写的和他相对应的View视图

                        ft.replace(R.id.f_main_right,xxFragment) ;
                        break;
                    case 3:
                        SmallSisterFragment smallSisterFragment=new SmallSisterFragment();//这是new了自己写的和他相对应的View视图

                        ft.replace(R.id.f_main_right,smallSisterFragment) ;
                        break;
                }
                ft.commit();
            }
        });
        return view;
    }

}


win10 跳过U8环境检测的IE WebControls.rar win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。 立即下载

相关推荐

软件测试方法——等价类划分法详解

!如果下面这些资料用得到的话可以直接拿走:1、自学开发或者测试必备的完整项目源码与环境2、测试工作中所有模板(测试计划、测试用例、测试报告等)3、软件测试经典面试题4、Python/Java自动化测试实战.pdf5、Jmeter/postman接口测试全套视频获取6、Python学习路线图。

MXB1220的博客 1万+

初识Frament(一)

1.1 frament简介 是一种可以嵌入在activity中的UI片段,提供动态的多窗口的交互体验,可以让程序更加合理地利用大屏幕的空间 静态使用 动态使用 V4包下使用 1.2 frament的静态使用 1)创建子类继承fragment 2)重写onCreateView()方法,该方法主要定义fragment的布局,以view的形式返回fragment的视图 3)将fragment引入到ac...

weixin_41512462的博客 217

使用moveit控制机械臂

位置设置:`target_pose.position.x = 0.12`, `target_pose.position.y = 0.41`, 和 `target_pose.position.z = 0.44` 分别设置了机械臂末端执行器的X, Y, 和 Z坐标。设定目标位置:`group.set_pose_target(target_pose)` 这一命令将之前定义的目标位置和姿态设置为当前机械臂组的目标,为接下来的路径规划做准备。在机械臂控制的过程中,设定精确的目标位置和姿态是实现精确操作的关键步骤。

realman_Rop的博客 3687

Vue3跟Vue2的区别(超详细,要收藏)

Vue 新版本的理念成型于 2018 年末,当时 Vue 2 的代码库已经有两岁半了。比起通用软件的生命周期来这好像也没那么久,但在这段时期,前端世界已经今昔非比了。在我们更新(和重写)Vue 的主要版本时,主要考虑两点因素:首先是新的 JavaScript 语言特性在主流浏览器中的受支持水平;其次是当前代码库中随时间推移而逐渐暴露出来的一些设计和架构问题。

常来常往,共同成长 2万+

告别系统迁移蓝屏!用Intel RST驱动搞定11代酷睿装Win11的硬盘识别难题

本文详细介绍了如何通过Intel RST驱动解决11代酷睿处理器在安装Win11时遇到的硬盘识别问题。针对VMD技术导致的系统迁移蓝屏错误,提供了从驱动下载、PE环境创建到驱动注入的完整解决方案,帮助用户顺利完成系统升级或迁移。

weixin_31309419的博客 576

【AI概念】迁移学习 vs. 域自适应 vs. 域泛化|定义、核心原理、数学表达、易混淆点与工程选择建议|实际案例、工程实现细节、未来研究趋势、实际应用场景

大家好,我是爱酱。本篇将会详细梳理迁移学习(Transfer Learning)、域自适应(Domain Adaptation)、域泛化(Domain Generalization)三大常被混淆的核心概念,结合数学公式、典型算法与实际应用场景,帮助你厘清它们的本质区别、联系与工程意义。 注:本文章含大量数学算式、详细例子说明及大量代码演示,大量干货,建议先收藏再慢慢观看理解。新频道发展不易,你们的每个赞、收藏跟转发都是我继续分享的动力!

AI人工智能爱酱~你的AI学习好帮手~ 2466

前端常见vue面试题合集

1. 哪些变化从上图中,我们可以概览的新特性,如下:1.1 速度更快相比1.2 体积更小通过的功能,可以将无用模块“剪辑”,仅打包需要的能够,有两大好处:可以开发出更多其他的功能,而不必担忧打包出来的整体体积过多1.3 更易维护compositon Api更好的Typescript支持是基于编写的,可以享受到自动的类型定义提示1.4 编译器重写1.5 更接近原生可以自定义渲染 API1.6 更易使用响应式 暴露出来轻松识别组件重新渲染原因2. Vue3新增特性Vue 3 中需要关注的一些新功能包括:2.1

bb_xiaxia1998的博客 1609

R语言实战:5分钟搞定GEO单细胞数据(scRNA-seq)下载与整理(附完整代码)

本文详细介绍了如何使用R语言快速下载和整理GEO单细胞数据(scRNA-seq),提供完整的自动化处理代码。从环境准备、数据获取到文件整理和质量检查,涵盖10X Genomics标准格式及非标准数据的处理技巧,帮助生物信息学研究者高效完成数据预处理工作。

weixin_29054399的博客 601

如何阻止frament恢复销毁前状态

App开发时,我们总是遇到各种各样的需求。前些日子我就遇到一个不常见的需求:我们需要当Activity恢复时,不需要恢复Fragment的状态我们知道,在内存不足的时候,系统会回收优先级较低的Activity,并在销毁前通过onSaveInstanceState()方法保存当前状态。当然,fragment的状态也在该方法中被保存,代码截图如下。Activity_onSaveInstaceState...

丿灬安之若死 380

LangChain面试内容整理-知识点27:LangChain性能调优

LLM应用可能面临响应慢、成本高等性能问题。LangChain提供了一些优化方法和经验来提升性能和效率。

不务正业的猿 327

【数据结构】考点二十八 : 二叉树的概念:二叉树的度、完全二叉树、满二叉数结点数、哈夫曼结点数、完全二叉树的深度

二叉树(Binary Tree)是一种常见的数据结构,它或者为空(null),或者由一个根节点(root node)和两个子树(left subtree 和 right subtree)组成,这两个子树又分别是一棵二叉树。二叉树的每个节点最多有两个子节点,通常称为左子节点(left child)和右子节点(right child)。

超越的博客 1737

Vue3 面试题

一、vue3有了解过吗?能说说跟vue2的区别吗? 1. Vue3介绍 关于vue3的重构背景,尤大是这样说的: 「Vue 新版本的理念成型于 2018 年末,当时 Vue 2 的代码库已经有两岁半了。比起通用软件的生命周期来这好像也没那么久,但在这段时期,前端世界已经今昔非比了 在我们更新(和重写)Vue 的主要版本时,主要考虑两点因素:首先是新的 JavaScript 语言特性在主流浏览器中的受支持水平;其次是当前代码库中随时间推移而逐渐暴露出来的一些设计和架构问题」 简要就是: 利用新的语言.

yuan 2万+

多物理场光学仿真软件:Ansys Lumerical_(8).CHARGE解决方案详解

CHARGE 模块主要用于求解 Poisson 方程和连续性方程,以模拟半导体器件中的电荷分布和载流子输运。通过 CHARGE 模块,可以分析器件的能带结构、载流子浓度、电流密度等关键参数。这些参数对于理解器件的工作原理和优化设计至关重要。

kkchenjj的博客 1384

ViewPage+frament不预加载下一个Frament数据解决办法

使用Viewapge+Frement不预加载下一页数据解决方案

原来我是成成 2206

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Frament+ViewPager一起使用

本文章为Frament+ViewPager一起使用,可以滑屏,可以点击。简单易懂,代码量少,本文之所以篇幅较长是因为我把框架的代码复制到了文章里面,可能占用了较大篇幅。

tong_shiyutong的博客 581

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Frament+ViewPager

Frament+ViewPager  viewpage可以做简单的导航,到页面菜单,可以使用视图滑动,实现像lanucher左右滑动等等,   在布局文件中加入控件viewpager,这个组件,注意这个组件是用来显示左右滑动的界面的,如果不加载xml布局文件,他是不会显示内容的  1.frament作为activity界面的一部分组成出现。  2.可以一个activit

newparallel的博客 446

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Android:Frament详解

Android:Frament详解Fragment是什么Fragment运行 Fragment是什么 具备生命周期;依托Activity运行 Fragment运行 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"

折叶 3461

Android学习之路(7) Frament

Fragment 表示应用界面中可重复使用的一部分。fragment 定义和管理自己的布局,具有自己的生命周期,并且可以处理自己的输入事件。fragment 不能独立存在。它们必须由 activity 或其他 fragment 托管。fragment 的视图层次结构会成为宿主的视图层次结构的一部分,或附加到宿主的视图层次结构。

qq_32907491的博客 935

android frament懒加载

文笔粗略 有更好的方法请进行评论谢谢 在我们使用viewpager+fragment中 由于相对于viewpager的预加载机制,导致当前fragment的后一个fragment进行加载,比较影响性能,为此, 百度许久 ,自己又是菜鸡 没办法,只能继续百度。 百度上大部分的文章都是缺胳膊少腿的,很多也没有实例的应用,头疼头疼,难搞难搞啊,好在皇天不负有心...

72的博客 354

frament 是否对用户可见

项目中引用了他人写的lazyloadfragment,博客上写的很牛逼,用起来却真的不咋地。 主要的方法:就是在oncreateView 里面调用它 private void isCanLoadData() { if (!isInit) { return; } if (getUserVisibleHint()) ...

yyo201的博客 189

Frament复用

private void initView() { tab = (TabLayout) findViewById(R.id.tab); pager = (ViewPager) findViewById(R.id.pager); ArrayList&lt;String&gt; strings = new ArrayList&lt;&gt;(); strings.add("要闻"); ...

weixin_42582516的博客 185

Frament1

布局&lt;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:lay...

qq_41636756的博客 143

Day04frament

Fragment的实现方式 创建一个类,继承Fragment 重写父类的方法onCreateView() 在onCreateView()方法中,为Fragment创建UI界面 Java代码 ​ MyFragment类 import android.os.Bundle; import android.support.annotation.NonNull; import android.s...

weixin_45480648的博客 125

初次使用Frament发生报错

1. 在报错信息中,发现MainActivity的onCreat被循环调用导致死循环: java.lang.RuntimeException: Unable to start activity omponentInfo{com.test/com.nicaicai.MainActivity}: android.view.InflateException: Binary XML file li

Aman1984的博客 671
上一篇: Android 高级控件
下一篇: Frament+ViewPager
殇丶
博客等级 码龄10年 35粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值