磨人的Fragment的转换

本次任务是

程序运行之后将第一个Fragment加载出来

然后点击“SHOW NEXT PAGE”切换到第二个Fragment

当再次点击按钮时下方出现提示“This is second fragment”

再点击屏幕上的返回键

切换至第一个Fragment

任务的重点在于要制作两个Fragment,并且实现他们两个之间的跳转

来看代码


布局代码老规矩 直接贴上

    <TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="暮色倾城"
android:textSize="30dp"
android:gravity="center_horizontal"
android:textColor="@android:color/background_dark" /> <FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="vertical"
android:layout_weight="1"> <Button
android:id="@+id/button"
android:onClick="onClick"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center"
android:text="show next page"
/>
</FrameLayout> <LinearLayout
android:id="@+id/yy_wz"
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="vertical"
android:layout_weight="1">
</LinearLayout>

以上是主界面布局

 <!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:textSize="30sp"
android:text="@string/lyf_fragment"
android:background="@android:color/holo_blue_bright" /> </FrameLayout>
  <TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:textSize="30sp"
android:text="@string/yy_fragment"
android:background="?attr/colorAccent" /> </FrameLayout>

以上是第二个布局代码 差不多 哈哈


然后是主界面的Java代码

其实这个有点困难,上课时就没做好,结果研究了很长时间运行后显示某某某程序已停止运行

我还能说什么,自己想不出个所以然,还好有人帮忙看出了我的问题并帮我修改代码

来看看Java代码

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
YyFragment yyFragment;
LyfFragment lyfFragment;
private boolean huan = true,
tui = false; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
yyFragment = new YyFragment();
transaction.add(R.id.yy_wz,yyFragment);
transaction.commit();
} @Override
public void onClick(View view) {
if(view.getId() == R.id.button){
tui = true;
if(huan){
FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
if ( lyfFragment == null){
lyfFragment = new LyfFragment();
transaction.replace(R.id.yy_wz,lyfFragment);
transaction.commit();
huan = false;
} else{
transaction.replace(R.id.yy_wz,lyfFragment);
transaction.commit();
huan = false;
}
}else{
Toast.makeText(this,"This is second fragment", Toast.LENGTH_SHORT).show();
} }}
public boolean onKeyDown(int keyCode, KeyEvent event) { if(event.getKeyCode()== KeyEvent.KEYCODE_BACK&&tui){ FragmentManager manager = getFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
huan = true;
tui = false;
transaction.replace(R.id.yy_wz,yyFragment);
transaction.commit();
return false;
} else {
finish();
}
return super.onKeyDown(keyCode, event); }

最后一段那个界面的切换和退出有些地方是不明白

虽然有注释 可是我认识汉字却读不懂那些话,只能自己再琢磨慢慢理解了

也就是说最后一段是借鉴别人的,嗯,我会努力理解它的。

最后 感谢小美人 哈哈。

磨人的Fragment的转换的更多相关文章

  1. 程序员MM的自白:磨人小妖精之安卓碎片化

    文/腾讯优测 章婉霞 除了crash问题,Android平台的碎片化越来越受到移动开发的关注,且不谈支持Android系统的移动设备早已过万款,屏幕.品牌以及传感器等方面的碎片化问题也困扰着开发者. ...

  2. Mono Fragment之间转换

    var newFragment = new mybacklogF (); var ft = FragmentManager.BeginTransaction (); ft.Replace (Resou ...

  3. K2P刷机教程转自恩山磨人的小妖精

    K2P刷机指南说明 K2P MTK版发布之初用的是22.5.7.85, 这个版本官改和高恪K2P固件都可以从斐讯固件基础上直接升级, 是所谓直刷.但好景不长, 之后的版本比如22.5.17.33就改了 ...

  4. A1016 | 磨人的大模拟

    这题写得头晕……明天我再评价 #include <stdio.h> #include <memory.h> #include <math.h> #include & ...

  5. android:Fragment动画的东西

    最近很多人来Fragment动画是很感兴趣,我将是一个样本给大家看. 既然做,我会做动画以下类型: 注入弹出动画:从""进入.从"上下左右"弹出,当然,你怎么组 ...

  6. 苹果笔记本适合什么人 中国Mac电脑用户的8个事实

    报告由腾讯 ISUX 研究中心收集了全国 7946 名 Mac 电脑用户的问卷整理而成.并且,参考了苹果公司的历年财报,以及百度.StatCounter 等第三方市场统计数据. 你是 iPhone 用 ...

  7. Android用户界面开发:Fragment

    Android用户界面开发:Fragment 1:注意事项  3.0以前的Android 版本要使用FragmentActivity 来装载Fragment ,使用到support v4包.  3.0 ...

  8. fragment 小结

    1:注意事项   3.0以前的Android 版本要使用FragmentActivity 来装载Fragment ,使用到support v4包.   3.0以后的版本可以直接在Activity里面添 ...

  9. 我写了个IDEA开源插件,vo2dto 一键生成对象转换

    让人头疼的对象转换 头炸,po2vo.vo2do.do2dto,一堆对象属性,取出来塞进来.要不是为了 DDD 架构下的各个分层防腐,真想一竿子怼下去. 那上 BeanUtils.copyProper ...

随机推荐

  1. PHP+Ajax实现文件上传功能

    前端显示界面: 1 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  2. 在CentOS6.9 x86下编译libusb-1.0.22遇到的两个问题

    OS版本:CentOS 6.9 x86,内核版本2.6.32 问题一:configure.ac:36: error: Autoconf version 2.69 or higher is requir ...

  3. css预处理器:Sass LASS Stylus

    语法 Sass h1 { color: #0982C1; } h1 color: #0982c1 LESS h1 { color: #0982C1; } Stylus /* style.styl */ ...

  4. Halcon知识点随记(每日更新)

    部分积累自重码网视频 1.dev_update_off.dev_update_on 一般dev_update_off放在开始,dev_update_on放在程序结束 dev_update_window ...

  5. Codeforces Round #436 C. Bus

    题意:一辆车在一条路上行驶,给你路的总长度a,油箱的容量b,加油站在距离起点的距离f,以及需要走多少遍这条路k(注意:不是往返) 问你最少加多少次油能走完. Examples Input 6 9 2 ...

  6. Java框架spring 学习笔记(二):Bean的作用域

    Spring 框架Bean支持以下五个作用域: 下面介绍两种作用域,singleton和protoype singleton作用域 singleton作用域为默认作用域,在同一个ioc容器内getBe ...

  7. 内网主机使用yum安装软件

    经常遇到这样的情况:有一台内网linux主机需要安装软件,但是主机又无法连接外网,通常情况下可以使用rpm包或者使用源码编译安装.但常常会遇到依赖缺少的情况,这就麻烦了,要一一找到缺少的软件包. 这种 ...

  8. S19 文件详解

    http://blog.csdn.net/finewind/article/details/5483554

  9. Windows内核驱动中操作文件

    本页主题:如何在windows内核驱动中对文件操作,实现对文件的拷贝.粘贴.删除.查询信息等,这是很常用也是很简单的方法. 部分内容参考:http://www.cppblog.com/aurain/a ...

  10. 通过ssh StrictHostKeyChecking解决自动化git项目问题

    SSH 公钥检查是一个重要的安全机制,可以防范中间人劫持等黑客攻击.但是在特定情况下,严格的 SSH 公钥检查会破坏一些依赖 SSH 协议的自动化任务,就需要一种手段能够绕过 SSH 的公钥检查. 首 ...