Android Studio 实现不同界面传递信息

        刚接触android studio一个月,在平常练习实现app功能的时候不免要实现一个功能——不同activity之间的参数传递,我想在这个activity界面写的数据能显示到另一个activity界面上、在这个activity中的fragment界面上的信息显示在另一个fragment、甚至在这个activity中的fragment界面上的信息显示在另一个activity中的fragment。话不多说,直接上实现的代码。

 一、不同Activity之间传递参数

        这一步是最基础的,往往很多人会采取用Intent来传递参数。

1、传递参数:

// 在MainActivity中定义如下代码 
//MainActivity是要传的,OtherActivity是要接收的
	Intent intent = new Intent(MainActivity.this,OtherActivity.class);
	//在Intent对象当中添加一个键值对
    //key要记住,接收的时候要靠key来接收
	intent.putExtra("key","value");                 
	startActivity(intent);

2、接收参数

//取得从MainActivity当中传递过来的Intent对象
	Intent intent = getIntent();
	//从Intent当中根据key取得value
	String value = intent.getStringExtra("key");
   这样一个简单的参数传递就完成了,这里需要注意这个方法的采用会直接从这个activity跳转到另一个activity,那么如果我们不想跳转,但是要把这个参数传递过去呢?这个就要创建一个单独的类来帮我们实现。

二、实现任意的参数传递

   DataTransmission(名字自拟),有了这个方法之后我们可以把要传递的参数输入进去,然后在你需要这些数据的时候再拿出来,这样我们就可以实现在任意的activity实现不跳转传递参数,甚至在任何的activity和fragment之间传参,以下是实现的代码:

package 包名;

public class DataTransmission {
    private static DataTransmission instance;

    private String data;

    private DataTransmission() {}

    public static DataTransmission getInstance() {
        if (instance == null) {
            instance = new DataTransmission();
        }
        return instance;
    }

    public String getData() {
        return data;
    }

    public void setData(String data) {
        this.data = data;
    }
}

 

接下来我们要传递参数的java代码里写

     DataTransmission.getInstance().setData(str);//str是你想要传递的数据

接受参数的java代码里写

     value = DataTransmission.getInstance().getData();//用一个字符串value来接收数据

     这样我们就完成的想要完成的参数传递。欢迎大家指出错误,或者有更好的方法可以在评论区讨论,也欢迎大家互关私信我,可以有更好的交流。

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值