利用fragment实现界面跳转


  • 任务要求
    利用fragment实现界面跳转功能,完成效果如下图所示
    图片1

我的想法是在xml文件里设置Button。再创建一个fragment文件。在java文件中动态加载fragment完成第一张效果。点击按钮后在动态加载一张fragment实现setcontent方法改写内容字符串。点击返回键返回第一张fragment
xml文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/activity_main"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="com.example.administrator.interfacejunmp.MainActivity"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:layout_alignParentBottom="true"><Buttonandroid:id="@+id/first"android:layout_width="match_parent"android:layout_height="wrap_content"style="@style/ZT1"/></LinearLayout>
</RelativeLayout>

fragment文件

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.example.administrator.interfacejunmp.MyFragment"><!-- TODO: Update blank fragment layout --><TextViewandroid:id="@+id/txt_show"android:layout_width="match_parent"android:layout_height="match_parent"android:text="@string/this_is_first_fragment"android:gravity="center"style="@style/ZT3"/>
</FrameLayout>

java代码
activity

public class MainActivity extends AppCompatActivity implements View.OnClickListener {private MyFragment g1;private Button first;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button first = (Button)findViewById(R.id.first);first.setOnClickListener(this);FragmentManager ft = getFragmentManager();FragmentTransaction fc= ft.beginTransaction();g1 = new MyFragment();fc.add(R.id.activity_main,g1);fc.commit();}@Overridepublic void onClick(View v){FragmentManager FragmentManager = getFragmentManager();FragmentTransaction fTransaction = FragmentManager.beginTransaction();switch(v.getId()){case R.id.first:if(g1!=null){g1 = new MyFragment();g1.setContent("This is second fragment!");fTransaction.replace(R.id.activity_main,g1);fTransaction.commit();}}}@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){FragmentManager manager = getFragmentManager();FragmentTransaction transaction = manager.beginTransaction();g1 = new MyFragment();transaction.replace(R.id.activity_main,g1);transaction.commit();}return super.onKeyDown(keyCode, event);}
}

fragment代码

public class MyFragment extends Fragment {private String content;public MyFragment() {String s = "This is first fragment!";content = s;}public void setContent(String content){this.content = content;}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View view = inflater.inflate(R.layout.fragment_my, container, false);TextView show = (TextView)view.findViewById(R.id.txt_show);show.setText(content);return view;}
}

实现图:

转载于:https://www.cnblogs.com/air-java/p/6730810.html

# 利用fragment实现界面跳转相关推荐

  1. android 界面跳转封装,【Android】Fragment跳转系列

    一.同一个Activity下Fragment之间相互跳转(含带参数) Fragment1跳转到Fragment2中 1.封装一个方法 这样封装是方便一个Activity下有多个Fragment来回跳转 ...

  2. 老式Android中碎片Fragment之间的跳转和数据传递

    随着jetpack组件的使用,fragment之间的跳转和传值已经有相应的demo了.但是有时候难免不用Navigation,或者一些老项目的维护.这里,简单记录下老式fragment怎么跳转和传值. ...

  3. JavaFX界面跳转

    JavaFX界面跳转 界面跳转,很常见的一个功能,在桌面程序中,可以多窗口跳转,也可以在一个窗口中跳转.不同方式对应不同场景.下面简单介绍一下,JavaFX中单窗口界面跳转方式. BorderPane ...

  4. 利用Python制作微信跳一跳外挂,微信好友装逼神器!

    导语 前几天在GitHub上看到有人利用Python玩一款名为"跳一跳"的微信小程序,于是打算自己也来试一试,进群:711944363 获取微信跳一跳源码! 演示工具 电脑系统:W ...

  5. 微信小程序界面开发-界面跳转

    实现界面跳转不止一种方法,比如可以使用导航栏,而下面我将用另一种方式来实现,如果你想用导航栏实现可以参考导航栏 一.wxml代码 <view class="main-memu" ...

  6. HarmonyOS 界面跳转以及界面跳转的同时传递参数

    HarmonyOS 不带参数界面之间跳转 package com.example.myapplication.slice; import com.example.myapplication.Resou ...

  7. swift_004(Storyboard进行界面跳转及传值)

    Storyboard进行界面跳转及传值 方法一 // 方法一 跳转(不用连线) // 获取指定的Storyboard,name填写Storyboard的文件名 let mainStoryboard = ...

  8. (转)android Fragments详解三:实现Fragment的界面

    为fragment添加用户界面 fragment一般作为activity的用户界面的一部分,把它自己的layout嵌入到activity的layout中.    一个 要为fragment提供layo ...

  9. 【错误记录】Flutter 界面跳转报错 ( Navigator operation requested with a context that does not include a Naviga )

    文章目录 一.报错信息 二.问题分析 三.解决方案 一.报错信息 Flutter 界面跳转时 , 报如下错误 : ======== Exception caught by gesture ====== ...

最新文章

  1. Weiss的数据结构与算法分析(C++版)源码编译说明
  2. Unity 2D游戏开发教程之游戏中精灵的跳跃状态
  3. PowershellTFS_Part 1
  4. 根据表达式的值,选择field中的值
  5. 替换字符串中指定的字符--随手源码
  6. 集群(cluster)原理(转)
  7. Replace Nested Conditional with Guard Clauses(以卫语句取代嵌套条件表达式)
  8. 如何在CDH5上部署Dolphin Scheduler 1.3.1
  9. 实例化vue之前赋值html元素导致事件失效
  10. 【转】[caffe]深度学习之图像分类模型AlexNet解读
  11. 网件rax40可以刷梅林_支持WiFi6,带宽达到3000Mbps,网件RAX40路由器评测 | 钛极客...
  12. javamailsender注入失败_使用Spring3.x框架的java mail支持来发送邮件
  13. 使用labview制作漂亮的按钮
  14. 湖南启动CCTV《星光达人秀》 《宾导会客厅》全球直播发布
  15. 720nopenwrt设置打印服务器_打印服务器的ip配置及共享设置
  16. HDU2072(单词数)
  17. 音视频技术开发周刊 | 272
  18. 李沐动手学深度学习_环境搭建
  19. socket常用参数解释
  20. rviz进行kitti数据集可视化时加载小车模型报错

热门文章

  1. 【转摘】PYTHON 正则表达式
  2. mac下vi语法高亮
  3. 域密码自助重置系统----绑定私人邮箱信息自助重置(一)
  4. java得出两个日期之间所有日期
  5. python+OpenCV图像处理
  6. FPGA开发中全局复位置位(GSR)
  7. 使用pytorch最关键的几个点
  8. java操作elasticsearch实现query String
  9. 细说 iOS 消息推送
  10. React文档(十四)深入JSX