[android] 用fragment创建一个选项卡

[android] 用fragment创建一个选项卡,第1张

概述界面布局,线性布局,水平排列,平均居中分布 四个TextView,宽度为0dip,权重都是1,内容居中显示 主体内容部分使用LinearLayout控件,设置id 新建四个Fragment选项类,继承

界面布局,线性布局,水平排列,平均居中分布

四个TextVIEw,宽度为0dip,权重都是1,内容居中显示

主体内容部分使用linearLayout控件,设置ID

 

新建四个Fragment选项类,继承系统的Fragment

重写onCreateVIEw()方法,返回一个VIEw对象

 

新建四个布局文件,显示选项卡对应的内容

 

activity

获取linearLayout对象,通过findVIEwByID()方法

先找到四个TextVIEw控件对象

调用四个TextVIEw对象的setonClickListener()方法,设置点击事件,参数:this

当前activity实现OnClicklisntenr接口,实现onClick()方法,传递进去VIEw对象

 

设置默认界面

获取FragmentManager对象,通过getFragmentManager()方法

调用FragmentManager对象的beginTransaction()方法,开启事务,获得FragmentTransaction对象

调用FragmentTransaction对象的replace()方法,用Fragment替换当前界面,参数:containerVIEwID,第一个Fragment对象

containerVIEwID是容器的ID,就是我们定义的内容主体的ID

调用FragmentTransaction对象的commit()方法,提交事务

 

onClick()方法里面

调用VIEw对象的getID()方法,获取到当前点击的控件的ID

switch判断一下ID,根据不同的ID展示不同的fragment

 

FragmentTransaction对象的replace()方法里面,参数1必须是个容器对象,我用TextVIEw报类型转换异常,linearLayout控件下面必须有一个子控件

 

当前没有动画效果

 

package com.tsh.mytabfrag;import androID.app.Activity; androID.app.Fragment; androID.app.FragmentManager; androID.app.FragmentTransaction; androID.os.Bundle; androID.vIEw.VIEw; androID.vIEw.VIEw.OnClickListener; androID.Widget.TextVIEw;public class MainActivity extends Activity implements OnClickListener {    private TextVIEw tv1,tv2,tv3;     FragmentManager fm;     FragmentTransaction ft;     Fragment fm1,fm2,fm3;    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_main);        // 初始化控件        tv1 = (TextVIEw) findVIEwByID(R.ID.tv1);        tv2 = (TextVIEw) findVIEwByID(R.ID.tv2);        tv3 = (TextVIEw) findVIEwByID(R.ID.tv3);        fm1 = new Fragment1();        fm2 =  Fragment2();        fm3 =  Fragment3();        tv1.setonClickListener(this);        tv2.setonClickListener();        tv3.setonClickListener();        fm = getFragmentManager();        ft = fm.beginTransaction();        ft.replace(R.ID.content,fm1);        ft.commit();    }    @OverrIDe     onClick(VIEw v) {        ft = fm.beginTransaction();        switch (v.getID()) {        case R.ID.tv1:            ft.replace(R.ID.content,fm1);            break;         R.ID.tv2:            ft.replace(R.ID.content,fm2);             R.ID.tv3:            ft.replace(R.ID.content,fm3);            ;        default:            ;        }        ft.commit();    }}

 

总结

以上是内存溢出为你收集整理的[android] 用fragment创建一个选项卡全部内容,希望文章能够帮你解决[android] 用fragment创建一个选项卡所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1121162.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存