Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

loadRoot不能带参数吗? #6

Closed
caojing35 opened this issue Jan 24, 2021 · 10 comments
Closed

loadRoot不能带参数吗? #6

caojing35 opened this issue Jan 24, 2021 · 10 comments
Labels
enhancement New feature or request

Comments

@caojing35
Copy link

首个Fragment就需要传参的,怎么带参数加载?

@vitaviva vitaviva added the enhancement New feature or request label Jan 24, 2021
@vitaviva
Copy link
Owner

请升级v0.1.2,新增了基于factory的loadRoot方法

@caojing35
Copy link
Author

请升级v0.1.2,新增了基于factory的loadRoot方法

升级到0.1.3了,看到loadRoot增加了lambda方式的factory,但是我看了下实现,是根据class类型放在了一个Provider里,这种方式没法用可变的参数创建,能否补充提供?

@vitaviva
Copy link
Owner

这种方式没法用可变的参数创建,能否补充提供?

是指构建fragment的时候传参吗? 现在可以传参,如下:
navHostFragment.loadRoot { HomeFragment(xxx) }

@caojing35
Copy link
Author

caojing35 commented Jan 31, 2021

Hello,用最新的库试了下,发现这里factory给Fragment传入的argument参数会在ReportFragment里onAttach的时候被覆盖成这个bundle
Bundle[{real=com.github.fragivity.example.HomeFragment}]
相关代码:
`

override fun onAttach(context: Context) {

    super.onAttach(context)

    mChildFragmentManager.beginTransaction().apply {

        _realFragment.arguments = arguments

        add(R.id.container, _realFragment)

`

@caojing35
Copy link
Author

caojing35 commented Jan 31, 2021

还有个疑问,factory方式的loadRoot,从Java侧似乎没法调用,能不能帮忙支持一下。

@vitaviva
Copy link
Owner

Hello,用最新的库试了下,发现这里factory给Fragment传入的argument参数会在ReportFragment里onAttach的时候被覆盖成这个bundle
Bundle[{real=com.github.fragivity.example.HomeFragment}]
相关代码:
`

override fun onAttach(context: Context) {

    super.onAttach(context)

    mChildFragmentManager.beginTransaction().apply {

        _realFragment.arguments = arguments

        add(R.id.container, _realFragment)

`

Thank you for report。 fixed in #11

@caojing35
Copy link
Author

Hello,用最新的库试了下,发现这里factory给Fragment传入的argument参数会在ReportFragment里onAttach的时候被覆盖成这个bundle
Bundle[{real=com.github.fragivity.example.HomeFragment}]
相关代码:
`

override fun onAttach(context: Context) {

    super.onAttach(context)

    mChildFragmentManager.beginTransaction().apply {

        _realFragment.arguments = arguments

        add(R.id.container, _realFragment)

`

Thank you for report。 fixed in #11

多谢~ 顺便问一下,现在阶段发布release的节奏是什么想法?

@vitaviva
Copy link
Owner

多谢~ 顺便问一下,现在阶段发布release的节奏是什么想法?

对于重要的issue解决后会第一时间发版, 小的commit可能会多个汇总一起发版,争取至少每周都有更新吧

@vitaviva
Copy link
Owner

还有个疑问,factory方式的loadRoot,从Java侧似乎没法调用,能不能帮忙支持一下。

好的,会对Java侧的使用做一些兼容

@vitaviva
Copy link
Owner

vitaviva commented Feb 4, 2021

还有个疑问,factory方式的loadRoot,从Java侧似乎没法调用,能不能帮忙支持一下。

0.1.5增加了一些Java侧的API,欢迎review,如果有什么修改或者补充,欢迎PR~

@vitaviva vitaviva closed this as completed Mar 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants