千家信息网

Android如何动态添加碎片

发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,本篇内容介绍了"Android如何动态添加碎片"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!碎片的创
千家信息网最后更新 2024年11月18日Android如何动态添加碎片

本篇内容介绍了"Android如何动态添加碎片"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

碎片的创建

要使用碎片先要创建一个碎片,创建一个碎片很简单。

1.新建一个碎片布局,fragment.xml

2. 新建一个类Fragment1.java,继承自Fragment

注意Fragment有两个不同的包,推荐使用support-v4中的,兼容性更好,另一个安卓4.2以下就会崩溃。在该碎片中可以进行各种操作,就如同操作一个activity。

public class Fragment1 extends Fragment {@Nullable@Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {View view=inflater.inflate(R.layout.fragment_questions1,container,false);Log.d("questionMain1","碎片1加载");return view;}}

碎片和活动之间的通信。虽然碎片都是嵌入在活动中显示的,但他们之间的关系并不明显。

1.在活动中调用碎片的方法。FragmentManagert提供了一个类似于finViewById()的方法,用于从布局文件中获取碎片的实例。如果是动态加载的就跟简单了加载是你就有了该碎片的实例。

2.在碎片中调用活动的方法。可以通过getActivity()方法得到和当前碎片绑定的活动实例。

碎片的绑定

1.静态绑定

在活动布局中加一个碎片标签,比较简单不细说。android:name="",该标签为碎片对应的类,注意要包含路径全名。

2.动态绑定

这个才是碎片的强大之处,在程序运行时动态的添加到碎片中,根据具体情况来动态添加碎片,可以将程序界面定制得更加多样化(多用于自适应手机和平板的应用)

下面的代码以点击按钮。有三个碎片,通过点击事件在一个活动中动态切换显示的碎片。

package com.xiaobu.xiaoyan1.question;import android.os.Bundle;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentTransaction;import android.view.View;import android.widget.TextView;import com.xiaobu.xiaoyan1.R;import com.xiaobu.xiaoyan1.base.BaseActivity;public class QuestionsMain extends BaseActivity implements TextView.OnClickListener{private TextView fragment1;private TextView fragment2;private TextView fragment3;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_question_main);initView();}private void initView(){((TextView)findViewById(R.id.question_text)).setTextColor(getResources().getColor(R.color.colorTextChecked));fragment1=(TextView)findViewById(R.id.quiz_text_view);fragment2=(TextView)findViewById(R.id.answer_text_view);fragment3=(TextView)findViewById(R.id.chosen_text_view);fragment1.setOnClickListener(this);fragment2.setOnClickListener(this);fragment3.setOnClickListener(this);changeFragment(new QuestionsMain1());checkedChange(fragment1);}@Overridepublic void onClick(View v) {switch (v.getId()){case R.id.quiz_text_view:changeFragment(new QuestionsMain1());break;case R.id.answer_text_view:changeFragment(new QuestionsMain2());break;case R.id.chosen_text_view:changeFragment(new QuestionsMain3());break;default:break;}}private void changeFragment(Fragment fragment){FragmentManager fragmentManager=getSupportFragmentManager();FragmentTransaction transaction=fragmentManager.beginTransaction();transaction.replace(R.id.main_view,fragment);//第一个参数表示容器的id,第二个参数为碎片实例。transaction.commit();}}

"Android如何动态添加碎片"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

碎片 动态 活动 实例 方法 布局 之间 内容 参数 情况 更多 标签 知识 程序 不同 实用 强大 明显 学有所成 接下来 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 服务器闪蓝灯是什么意思 数据库系统程序模块 起源世界服务器 sql2000数据库工具 华为服务器管理口软件下载 湖北综合软件开发零售价格 大渡口区一站式软件开发流程售价 分析蛋白组学的数据库 网络安全问题发生原因 手机版方舟服务器管理员代码 网络数据库与开发技术的新闻 连云港营销软件开发培训 江西定制化服务器生产商 服务器连接用户数量设置 高科技互联网大背景 游览器与web服务器之间的协议 游戏服务器管理工具 mfc 服务器网络流量计算公式 ps4 GTA 服务器 数据库表格定义实训报告 网络安全体系结构规划 水电站网络安全日志比选文件 软件开发项目预算都有哪些 在网络安全中中断是指 数据库分数统计代码既运行结果 阿里云服务器 连接不上 创建一个管理系统数据库 网络安全保护安全设计框架 小马过河互联网科技 民航局网络安全
0