Android 匕首2-向碎片传递参数的正确方法
在我以前的项目中,我用Android的内置方法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个不同的类型参数,这两个选项看起来都太过分了。我很乐意听到建议,或者只是断言这些是我唯一的选
newInstance(param:Type)
实例化了我的片段,这样即使Android重新创建片段,我也不会丢失参数。现在,我要迁移到Dagger,实例化片段的合法方法是@Inject
'ed参数或空构造函数(据我所知)。我脑海中剩下两个选项,一个是为每个参数创建自定义注释(繁琐),另一个是使用@Named
,考虑到15-20个不同的目的片段,每个片段都需要3-4个不同的类型
参数,这两个选项看起来都太过分了。我很乐意听到建议,或者只是断言这些是我唯一的选择您仍然应该使用参数,否则当片段重新创建时,它们将丢失。这并没有改变tbh。您的意思是当我将片段添加到“活动”中时,Fragment.setArguments(bundle:bundle)
?是的,这就是我的意思。您应该仍然使用参数,否则在重新创建片段时它们将丢失。这并没有改变tbh。你是说当我将片段添加到活动时Fragment.setArguments(bundle:bundle)
?是的,这就是我的意思