多个Fragment在一个activity中通过按钮的展示方法
fragment使用方法
1. 创建主Mainactivity extends AppCompatActivity
2. Oncreate & setContentView
3. 完成XML的配置,包含两个部分,底部栏三个按钮及上边的content_view,注意都要加id(用来放接下来的的fragment)
4.创建3个fragment的layout xml页面
5. 创建fragment package,里面放3个fragment的页面,注意继承V4的Fragment,并修改return inflater
public class fragment_main extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_main,container,false);
}
}
6. 在Mainactivity中初始化 3个fragment的java和xml
LinearLayout menu_Main;
LinearLayout menu_Middle;
LinearLayout menu_Menu;
protected fragment_main FragmentMain = new fragment_main();
protected fragment_menu FragmentMenu = new fragment_menu();
protected fragment_middle FragmentMiddle = new fragment_middle();
7. 将几个fragment页面添加到mainactivity中,并设置展示哪个,hide哪个
this.getSupportFragmentManager()
.beginTransaction()
.add(R.id.contain_con,FragmentMain)
.add(R.id.contain_con,FragmentMiddle)
.hide(FragmentMiddle)
.add(R.id.contain_con,FragmentMenu)
.hide(FragmentMenu)
.commit();
8. 初始化3个Xml页面并findbyid,若使用implement,则初始化监听
private void initView() {
menu_Main=findViewById(R.id.menu_main);
menu_Menu=findViewById(R.id.menu_menu);
menu_Middle=findViewById(R.id.menu_middle);
menu_Main.setOnClickListener(this);
menu_Menu.setOnClickListener(this);
menu_Middle.setOnClickListener(this);
}
9. implement或内部类方法设置监听
10 在监听方法中使用switch方法,点击哪个按钮就展示哪个fragment,并注意之前添加过fragment,所以只需设置show和hide。
switch (v.getId())
{
case R.id.menu_main:
this.getSupportFragmentManager()
.beginTransaction()
.show(FragmentMain)
.hide(FragmentMiddle)
.hide(FragmentMenu)
.commit();
break;
case R.id.menu_middle:
this.getSupportFragmentManager()
.beginTransaction()
.hide(FragmentMain)
.show(FragmentMiddle)
.hide(FragmentMenu)
.commit();
break;
case R.id.menu_menu:
this.getSupportFragmentManager()
.beginTransaction()
.hide(FragmentMain)
.hide(FragmentMiddle)
.show(FragmentMenu)
.commit();
break;
}
多个Fragment在一个activity中通过按钮的展示方法的更多相关文章
- Fragment在Activity中的应用 (转载)
原文链接 http://www.cnblogs.com/nanxin/archive/2013/01/24/2875341.html 在本小节中介绍在Activity中创建Fragment. 官网有很 ...
- Android 自定义Dialog类,并在Activity中实现按钮监听。
实际开发中,经常会用到Dialog,比如退出时候会弹出是否退出,或者还有一些编辑框也会用Dialog实现,效果图如下: 开发中遇到的问题无非在于如果在Activity中监听这个Dialog中实现的 ...
- Android ViewPager+Fragment 在Activity中获取Fragment的控件
如果ViewPager+Fragment实现Tab切换,在activity中利用adapter.getItem获取到fragment然后再根据fragment.的方法获取控件 //隐藏求租,以下代码用 ...
- Android(java)学习笔记169:Activity中的onCreate()方法分析
1.onCreate( )方法是android应用程序中最常见的方法之一: 翻译过来就是说,onCreate()函数是在activity初始化的时候调用的,通常情况下,我们需要在onCreate()中 ...
- Android(java)学习笔记112:Activity中的onCreate()方法分析
1.onCreate( )方法是android应用程序中最常见的方法之一: 翻译过来就是说,onCreate()函数是在activity初始化的时候调用的,通常情况下,我们需要在onCreate()中 ...
- android脚步---UI界面修改,关于activity中增加按钮和监听
增加按钮和监听,这个和上个不同在于,它不是在一个dialog里面,而是从新写了一个activity,因此需要先找到这个activity的入口. case R.id.checkframe: if (mC ...
- Android开发中在一个Activity中关闭另一个Activity
比如有ActivityA, ActivityB,在ActivityB中关闭ActivityA 解决方案: 1. 在 ActivityA 里面设置一个静态的变量instance,初始化为this在 Ac ...
- Fragment在Activity中跳转,实现类似新闻标题跳转新闻内容功能
1.准备的工作,新闻数据类,新闻数据适配器,适配器的布局: News.java package com.example.zps.fourfragmentbestpractice; /** * Crea ...
- 安卓入门 使用android创建一个项目 从启动activity中响应按钮事件 启动另一个activity 并传递参数
启动android studio创建一个新项目 public void sendMessage(View view){ Intent intent=new Intent(this,DispalyMes ...
随机推荐
- poium测试库介绍
poium测试库前身为selenium-page-objects测试库,我在以前的文章中也有介绍过:这可能是最简单的Page Object库,项目的核心是基于Page Objects实现元素定位的封装 ...
- QinQ 简介
QinQ 是一种二层隧道协议,通过将用户的私网报文封装上外层 VLAN Tag,使其携带两层 VLAN Tag 穿越公网,从而为用户提供了一种比较简单的二层VPN隧道技术.QinQ 的实现方式可分为两 ...
- C++中endl和cout语句
cout是什么?它是一个对象,它代表着计算器的显示器屏幕. 在c++里,信息的输出显示可以通过使用cout和左向‘流’操作符(<<)来完成 这个操作符表面了从一个值到控制台的数据流向! c ...
- 微信小程序-表单笔记
发布页——向云端数据库上传多行文字和4张图片 第6,8行注释掉和不注释掉都可以实现数据上传 var _this = this; wx.cloud.callFunction({ name: 'searc ...
- 关于echarts.js 柱形图
echarts.js官网: http://www.echartsjs.com/index.html 这是我所见整理最详细echarts.js 柱形图博客: https://blog.csdn.net/ ...
- dva
import React, { PureComponent } from "react"; import { Chart, Geom, Axis, Tooltip, Coord, ...
- [转帖]Windows 上面IE的历史
微软向Chrome举手投降 这么多代IE你都用过吗 2019年04月20日 18:48 4030 次阅读 稿源:太平洋电脑网 2 条评论 这个清明假节,很多人过得波澜不惊,然而一个曾被万千网民挂在口中 ...
- A Base Class pointer can point to a derived class object. Why is the vice-versa not true?
问题转载自:https://stackoverflow.com/questions/4937180/a-base-class-pointer-can-point-to-a-derived-class- ...
- 在Asp.Net Core中集成ABP Dapper
在实际的项目中,除了集成ABP框架的EntityFrameworkCore以外,在有些特定的场景下不可避免地会使用一些SQL查询语句,一方面是由于现在的EntityFrameworkCore2.X有些 ...
- html中title小图标的实现
<link rel="icon" href="picture.ico" type="image/x-icon"/> 注意:图片的 ...