Activity与Fragment传递参数的问题

1、开发工具与关键技术:Eclipse、AndroidStudio
2、撰写时间:2020年05月18日

   Activity作为安卓四大组件之一,而Fragment是碎片、片段;是与Activity紧密联系使用,不能独自存在。它必须嵌入到Activity中才可以使用,而且Fragment的生命周期直接受所在的Activity的影响而影响。正是Activity有了Fragment的存在,使得UI设置起来灵活方便。下面我带大家了解一下,
Activity与Fragment之间是如何传递参数的。

Activity与Activity的传递参数是如何实现的,方法一(直接添加)

第一个Activity

//按钮的 点击事件 
btsubmit.setOnClickListener(new View.OnClickListener() {
  @Override
   public void onClick(View v) {
  //跳转到主页面页面 (注:LoginActivity是当前的Activity,MainActivity目标的Activity)
   Intent intent=new Intent(LoginActivity.this,MainActivity.class);
   //添加参数
   intent.putExtra("content","大家好,");
   intent.putExtra("name", "我是小明同学");
   startActivity(intent);
    }
});

第二个Activty

//获取参数
String content = getIntent().getStringExtra("content");
String name = getIntent().getStringExtra("name");

Activity与Activity的传递参数是如何实现的,方法二(通过Bundle传递)

第一个Activity

//跳转到主页面页面 (注:LoginActivity是当前的Activity,MainActivity目标的Activity)
Intent intent=new Intent(LoginActivity.this,MainActivity.class);
//通过Bundle 来传递多个不同类型的数据
Bundle bundle=new Bundle();
bundle.putInt("int",1);
bundle.putString("content","大家好,");
bundle.putString("name", "我是小明同学");
intent.putExtras(bundle);
startActivity(intent);

第二个Activty

 //获取 bundle中的数据
 Bundle bundle = new Bundle();
 bundle = this.getIntent().getExtras();
 String Content=bundle.getString("content");
 String Name=bundle.getString("name");
 Integer Id=bundle.getInt("int");

Activity与Fragment的传递参数又是如何呢!(通过Bundle传递)

Activity中的代码

//activity 向fragment中传递参数(OrderFragment 目标Fragment)
OrderFragment myFragment = new OrderFragment();
Bundle bundle = new Bundle();
bundle.putString("DATA","参数");//这里的values就是我们要传的值
bundle.putInt("int",1);
myFragment.setArguments(bundle);

Fragment中的代码

//   然后在Fragment中的onCreatView方法中,通过getArgments()方法,获取到bundle对象,然后通过getString的key值拿到我们传递过来的值
  Bundle bundle = getArguments();
String data = bundle.getString("DATA");
  Integer number =bundle.getInt("int");

   Fragment跳到Activity又是如何传递参数的呢!这个大家有没有想过?其实呢和Activity跳到Activity的方式是一样的,在这里就不再重复了。到这里如何你都了解了,那么在Activity与Fragment之间的跳转传递参数也没什么问题了。

你可能感兴趣的:(java移动开发)