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之间的跳转传递参数也没什么问题了。