获取上一个activity传给本activity的数据

当一个应用程序的Activity A 启动另外一个Activity B 时,常常会传递一些重要的信息。实现的思路就是通过Intent启动一个Activity时,把当前的Activity信息传递到下一个Activity中,当下一个Activity启动时,通过Intent获取传入的参数即可知道上一个Activity的信息。
例如:
启动一个Activity时:
Intent intent = new Intent(this, ActivityB.class);
intent.putExtra("name",Info);
startActivity(intent);

在新的Activity onCreate方法中即可获取上一个Activity参数:
name = getIntent().get***Extra("name");

传值及打开新的页面 
Intent integer = new Intent(context, xiangQingActivity.class);
                integer.putExtra("url",fruit.getLinkUrl());
                context.startActivity(integer);
获取
String url=getIntent().getStringExtra("url");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Bundle来传递数据。在Activity中,可以创建一个Bundle对象,将需要传递的数据放入Bundle中,然后通过setArguments()方法将Bundle对象传递给Fragment。在Fragment中,可以通过getArguments()方法获取传递过来的Bundle对象,然后从中取出需要的数据。具体代码如下: 在Activity中传递数据: ``` Bundle bundle = new Bundle(); bundle.putString("key", "value"); MyFragment fragment = new MyFragment(); fragment.setArguments(bundle); ``` 在Fragment获取数据: ``` Bundle bundle = getArguments(); String value = bundle.getString("key"); ``` ### 回答2: 在Android开发中,我们可以通过使用Activity来向Fragment传递数据。下面是一个简单的示例。 1. 在Activity中,我们可以通过Bundle对象将数据传递给Fragment。可以在Activity的onCreate方法中创建一个Bundle对象,将需要传递的数据存入bundle中,然后通过Fragment的setArguments方法将bundle传递给Fragment。 ```java Bundle bundle = new Bundle(); bundle.putString("key", "value"); MyFragment fragment = new MyFragment(); fragment.setArguments(bundle); ``` 2. 在Fragment中,我们可以通过getArguments方法获取传递过来的数据。在Fragment的onCreate方法中,可以通过getArguments方法获取到传递过来的bundle对象,然后根据key获取对应的数据。 ```java Bundle bundle = getArguments(); if (bundle != null) { String value = bundle.getString("key"); } ``` 这样,我们就可以在Activity中将数据传递给Fragment,并在Fragment获取到传递过来的数据。 需要注意的是,当我们重新创建Fragment的实例时,需要重新设置Arguments,因为FragmentManager在重新创建Fragment实例时并不会复制Arguments。另外,在Activity与Fragment的通信过程中,我们需要确保Fragment已经attached到Activity中,否则可能会出现NullPointerException。 这就是通过Activity向Fragment传递数据的基本步骤。希望能对你有所帮助! ### 回答3: 在Android开发中,activity是应用程序中的一个重要组件,而fragment是其中一个UI组件。在进行activity与fragment之间的数据传递时,可以通过使用bundle和接口回调来实现。 1. 使用Bundle传递数据给Fragment:在Activity中,可以创建一个Bundle对象,并通过put方法向Bundle中放入需要传递的数据。然后使用Fragment的setArguments方法将Bundle对象传递给Fragment。在Fragment中,通过getArguments方法获取到Bundle对象,并通过get方法获取到传递的数据。 例如,在Activity中传递数据给Fragment的代码如下: ```java Bundle bundle = new Bundle(); bundle.putString("data", "Hello Fragment"); Fragment fragment = new YourFragment(); fragment.setArguments(bundle); ``` 在Fragment获取传递数据的代码如下: ```java Bundle bundle = getArguments(); String data = bundle.getString("data"); ``` 2. 使用接口回调传递数据给Fragment:首先,在Activity中创建一个接口,在该接口中定义一个传输数据的方法。然后,在Activity中实现该接口,并将实现的接口对象传递给Fragment。在Fragment中通过接口对象调用接口中的方法,从而实现数据的传递。 例如,先定义一个传递数据的接口: ```java public interface DataCallback { void onDataReceived(String data); } ``` 在Activity中实现该接口并传递给Fragment: ```java public class MainActivity extends AppCompatActivity implements DataCallback { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Fragment fragment = new YourFragment(); ((YourFragment) fragment).setDataCallback(this); } @Override public void onDataReceived(String data) { // 在这里处理接收到的数据 } } ``` 在Fragment中调用接口中的方法传递数据: ```java public class YourFragment extends Fragment { private DataCallback dataCallback; public void setDataCallback(DataCallback dataCallback) { this.dataCallback = dataCallback; } // 在需要的地方调用dataCallback.onDataReceived("Hello Activity"); } ``` 通过以上的方式,就可以实现Activity向Fragment传递数据的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值