Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在创建时将参数传递给片段_Android_Android Fragments - Fatal编程技术网

Android 在创建时将参数传递给片段

Android 在创建时将参数传递给片段,android,android-fragments,Android,Android Fragments,我是Android编程新手,正在研究一些组件和架构 我现在正在测试碎片 我需要将自定义对象列表从我的活动传递到嵌套的片段 我读了这个问题:我注意到Bundle集合是在片段创建期间传递参数的最佳实践 Bundle bundle = new Bundle(); String myMessage = "Stackoverflow is cool!"; bundle.putString("message", myMessage ); FragmentClass fragInfo = new Fragme

我是Android编程新手,正在研究一些组件和架构

我现在正在测试碎片

我需要将自定义对象列表从我的
活动
传递到嵌套的
片段

我读了这个问题:我注意到
Bundle
集合是在片段创建期间传递参数的最佳实践

Bundle bundle = new Bundle();
String myMessage = "Stackoverflow is cool!";
bundle.putString("message", myMessage );
FragmentClass fragInfo = new FragmentClass();
fragInfo.setArguments(bundle);
但我想知道为什么我不能简单地通过构造函数传递参数,比如:

List<CustomObject> myParameter = new ArrayList<CustomObject>();
MyFragment fragInfo = new MyFragment(myParameter); // custom Fragment constructor
List myParameter=new ArrayList();
MyFragment fragInfo=新的MyFragment(myParameter);//自定义片段构造函数

这是错误的做法吗?框架是否使用空构造函数通过反射或类似方式实例化片段?

当Android想要重新创建片段时(即应用程序从后台到前台),它将使用默认的无参数构造函数(无参数)。因此,您不应该重载构造函数。

当Android想要重新创建片段时(即应用程序从后台到前台),它将使用默认的无参数构造函数(无参数)。因此,您不应该使构造函数过载。

您是对的。他们不能对你的结构的参数的数量和类型做任何假设,你是对的。他们不能对构造函数的参数的数量和类型做出任何假设