Android Activity与Fragment之间的跳转实例详解
发布时间 - 2026-01-10 22:50:27 点击率:次Activity及Fragment之间的跳转

直接跳转
基本使用方法
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void jump(View view) {
Intent intent = new Intent(this, VideoPlayActivity.class);
intent.putExtra("video_id", "1");
startActivity(intent);
}
}
public class VideoPlayActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video_play);
Intent intent = getIntent();
}
}
借助工具类
然而并没什么卵用
public static void startActivity(Context context, Class clazz,Bundle data) {
Intent intent = new Intent(context, clazz);
if(data != null){
intent.putExtras(data);
}
context.startActivity(intent);
}
推荐方案
- 把new Intent()放在目标Activity,这样可以onCreate里的getIntent形成对应
- 更容易理解和管理一个出口,多个入口的情况
- 较方便维护传递数据的key和value(即key由目标Activity来定义,value是实际的来源)
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void jump(View view) {
startActivity(VideoPlayActivity.newIntent(this, "1"));
}
}
public class VideoPlayActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video_play);
}
public static Intent newIntent(Context context, String vid) {
Intent intent = new Intent(context, VideoPlayActivity.class);
intent.putExtra("video_id", vid);
return intent;
}
}
Fragment跳转
- 首先需要一个空的构造方法,Fragment恢复重建要使用。
- 使用newInstance代替构造方法传参
- 在Fragment.onCreate方法获取实参
public class MainFragment{
public MainFragment() {
// Required empty public constructor
}
public static MainFragment newInstance(int pos) {
MainFragment fragment = new MainFragment();
Bundle args = new Bundle();
args.putInt("pos", pos);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
pos = getArguments().getInt("pos");
}
}
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Android
# Activity与Fragment之间的跳转
# Activity与Fragment跳转
# Activity与Fragment跳转实例详解
# Android 两个Fragment之间的跳转和数据的传递实例详解
# Android编程使用Fragment界面向下跳转并一级级返回的实现方法
# Android基础之Fragment与Activity交互详解
# Android 管理Activity中的fragments
# Android从Fragment跳转到其他Activity的简单实例
# 跳转
# 放在
# 多个
# 希望能
# 谢谢大家
# 更容易
# 要使
# layout
# activity_main
# setContentView
# super
# jump
# putExtra
# VideoPlayActivity
# startActivity
# video_id
# view
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
详解MySQL数据库的安装与密码配置
简单实现jsp分页
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
Laravel如何处理文件下载请求?(Response示例)
canvas 画布在主流浏览器中的尺寸限制详细介绍
Laravel Session怎么存储_Laravel Session驱动配置详解
宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法
Laravel API资源类怎么用_Laravel API Resource数据转换
微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】
Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】
大连网站制作公司哪家好一点,大连买房网站哪个好?
谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程
高防服务器:AI智能防御DDoS攻击与数据安全保障
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
Laravel怎么判断请求类型_Laravel Request isMethod用法
百度浏览器如何管理插件 百度浏览器插件管理方法
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
如何在腾讯云服务器快速搭建个人网站?
Java遍历集合的三种方式
北京网站制作的公司有哪些,北京白云观官方网站?
如何在景安服务器上快速搭建个人网站?
Laravel如何处理异常和错误?(Handler示例)
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理
如何用虚拟主机快速搭建网站?详细步骤解析
如何快速生成高效建站系统源代码?
Laravel安装步骤详细教程_Laravel环境搭建指南
如何在万网ECS上快速搭建专属网站?
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
网站页面设计需要考虑到这些问题
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
JavaScript如何实现错误处理_try...catch如何捕获异常?
Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践
济南网站建设制作公司,室内设计网站一般都有哪些功能?
原生JS获取元素集合的子元素宽度实例
电商网站制作价格怎么算,网上拍卖流程以及规则?
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
html如何与html链接_实现多个HTML页面互相链接【互相】
html5的keygen标签为什么废弃_替代方案说明【解答】
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤
jQuery中的100个技巧汇总
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
Windows Hello人脸识别突然无法使用
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)

