从一个Activity转到另一个Activity

本文深入探讨了Android开发中如何利用Intent进行Activity间的跳转,并详细介绍了如何在跳转过程中传递数据。从基本的Intent使用开始,到实现数据的双向传递,最后展示了如何将数据返回给上一个活动,全面覆盖了Intent在数据共享中的关键应用。

1.MainActivity:

  Intent intent=new Intent(MainActivity.this,SecondActivity.class);  //Intent 中的参数第一个为相邻的Activity,第二个为要转到的Activity

     startActivity(intent);   

2.  实现跳转并向下一个活动传递数据

MainActivity:

   String data="this"

    Intent intent=new Intent(MainActivity.this,SecondActivity.class); 

    Intent.putExtra("extra_data",inputText);

     startActivity(intent);   

 SeconActivity:

    Intent intent=getIntent();   //首先通过getIntent()方法获取到用于启动SecondActivity的Intent

   String data=intent.getStringExtra("extra_data");  // 再通过getStringExtra()方法传入相应的键值,这里传的是字符串,也可传int等,即getIntExtra()...

   Log.d("SecondActivity",data);

3.返回数据给上一个活动

    startActivityForResult()方法也用于启动活动,但这个方法期望在活动销毁时返回一个结果给上一个活动。接受两个参数,第一个Intent,第二个是请求码,用于在之后的回调中判断数据的来源。




一个 Activity 转到一个 Activity 中的 Fragment,可以通过在目标 Activity 中添加一个用于显示 Fragment 的容器 View,并在该 Activity 中创建对应的 Fragment 来实现。 具体步骤如下: 1. 在目标 Activity 的布局文件中添加一个用于显示 Fragment 的容器 View。 ``` <FrameLayout android:id="@+id/fragment_container" android:layout_width="match_parent" android:layout_height="match_parent"/> ``` 2. 在目标 Activity 中创建对应的 Fragment,并将其添加到容器 View 中。 ``` MyFragment myFragment = new MyFragment(); FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.add(R.id.fragment_container, myFragment); fragmentTransaction.commit(); ``` 在上述代码中,MyFragment 是目标 Activity 中需要显示的 Fragment,R.id.fragment_container 是在布局文件中定义的容器 View 的 ID。 3. 在源 Activity 中使用 Intent 启动目标 Activity。 ``` Intent intent = new Intent(SourceActivity.this, TargetActivity.class); startActivity(intent); ``` 注意,这里启动的是目标 Activity,不是目标 Fragment。 这样就可以从一个 Activity 转到一个 Activity 中的 Fragment 了。需要注意的是,在目标 Activity 中添加 Fragment 时,最好使用 FragmentManager 来管理 Fragment 的生命周期,可以避免一些不必要的问题。同时,在目标 Fragment 中也需要根据需要处理生命周期方法。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值