Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.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 匕首2-向碎片传递参数的正确方法_Android_Android Fragments_Dependency Injection_Dagger 2_Dagger - Fatal编程技术网

Android 匕首2-向碎片传递参数的正确方法

Android 匕首2-向碎片传递参数的正确方法,android,android-fragments,dependency-injection,dagger-2,dagger,Android,Android Fragments,Dependency Injection,Dagger 2,Dagger,在我以前的项目中,我用Android的内置方法newInstance(param:Type)实例化了我的片段,这样即使Android重新创建片段,我也不会丢失参数。现在,我要迁移到Dagger,实例化片段的合法方法是@Inject'ed参数或空构造函数(据我所知)。我脑海中剩下两个选项,一个是为每个参数创建自定义注释(繁琐),另一个是使用@Named,考虑到15-20个不同的目的片段,每个片段都需要3-4个不同的类型参数,这两个选项看起来都太过分了。我很乐意听到建议,或者只是断言这些是我唯一的选

在我以前的项目中,我用Android的内置方法
newInstance(param:Type)
实例化了我的片段,这样即使Android重新创建片段,我也不会丢失参数。现在,我要迁移到Dagger,实例化片段的合法方法是
@Inject
'ed参数或空构造函数(据我所知)。我脑海中剩下两个选项,一个是为每个参数创建自定义注释(繁琐),另一个是使用
@Named
,考虑到15-20个不同的目的片段,每个片段都需要3-4个不同的
类型
参数,这两个选项看起来都太过分了。我很乐意听到建议,或者只是断言这些是我唯一的选择

您仍然应该使用参数,否则当片段重新创建时,它们将丢失。这并没有改变tbh。您的意思是当我将片段添加到“活动”中时,
Fragment.setArguments(bundle:bundle)
?是的,这就是我的意思。您应该仍然使用参数,否则在重新创建片段时它们将丢失。这并没有改变tbh。你是说当我将片段添加到活动时
Fragment.setArguments(bundle:bundle)
?是的,这就是我的意思