# 利用fragment实现界面跳转
利用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实现界面跳转相关推荐
- android 界面跳转封装,【Android】Fragment跳转系列
一.同一个Activity下Fragment之间相互跳转(含带参数) Fragment1跳转到Fragment2中 1.封装一个方法 这样封装是方便一个Activity下有多个Fragment来回跳转 ...
- 老式Android中碎片Fragment之间的跳转和数据传递
随着jetpack组件的使用,fragment之间的跳转和传值已经有相应的demo了.但是有时候难免不用Navigation,或者一些老项目的维护.这里,简单记录下老式fragment怎么跳转和传值. ...
- JavaFX界面跳转
JavaFX界面跳转 界面跳转,很常见的一个功能,在桌面程序中,可以多窗口跳转,也可以在一个窗口中跳转.不同方式对应不同场景.下面简单介绍一下,JavaFX中单窗口界面跳转方式. BorderPane ...
- 利用Python制作微信跳一跳外挂,微信好友装逼神器!
导语 前几天在GitHub上看到有人利用Python玩一款名为"跳一跳"的微信小程序,于是打算自己也来试一试,进群:711944363 获取微信跳一跳源码! 演示工具 电脑系统:W ...
- 微信小程序界面开发-界面跳转
实现界面跳转不止一种方法,比如可以使用导航栏,而下面我将用另一种方式来实现,如果你想用导航栏实现可以参考导航栏 一.wxml代码 <view class="main-memu" ...
- HarmonyOS 界面跳转以及界面跳转的同时传递参数
HarmonyOS 不带参数界面之间跳转 package com.example.myapplication.slice; import com.example.myapplication.Resou ...
- swift_004(Storyboard进行界面跳转及传值)
Storyboard进行界面跳转及传值 方法一 // 方法一 跳转(不用连线) // 获取指定的Storyboard,name填写Storyboard的文件名 let mainStoryboard = ...
- (转)android Fragments详解三:实现Fragment的界面
为fragment添加用户界面 fragment一般作为activity的用户界面的一部分,把它自己的layout嵌入到activity的layout中. 一个 要为fragment提供layo ...
- 【错误记录】Flutter 界面跳转报错 ( Navigator operation requested with a context that does not include a Naviga )
文章目录 一.报错信息 二.问题分析 三.解决方案 一.报错信息 Flutter 界面跳转时 , 报如下错误 : ======== Exception caught by gesture ====== ...
最新文章
- Weiss的数据结构与算法分析(C++版)源码编译说明
- Unity 2D游戏开发教程之游戏中精灵的跳跃状态
- PowershellTFS_Part 1
- 根据表达式的值,选择field中的值
- 替换字符串中指定的字符--随手源码
- 集群(cluster)原理(转)
- Replace Nested Conditional with Guard Clauses(以卫语句取代嵌套条件表达式)
- 如何在CDH5上部署Dolphin Scheduler 1.3.1
- 实例化vue之前赋值html元素导致事件失效
- 【转】[caffe]深度学习之图像分类模型AlexNet解读
- 网件rax40可以刷梅林_支持WiFi6,带宽达到3000Mbps,网件RAX40路由器评测 | 钛极客...
- javamailsender注入失败_使用Spring3.x框架的java mail支持来发送邮件
- 使用labview制作漂亮的按钮
- 湖南启动CCTV《星光达人秀》 《宾导会客厅》全球直播发布
- 720nopenwrt设置打印服务器_打印服务器的ip配置及共享设置
- HDU2072(单词数)
- 音视频技术开发周刊 | 272
- 李沐动手学深度学习_环境搭建
- socket常用参数解释
- rviz进行kitti数据集可视化时加载小车模型报错