fragment通过xml声明方式传递参数

在文档中讲解了可以在父screen中通过properties传递参数给fragment,参见:https://doc.cuba-platform.cn/manual-7.1-chs/using_screen_fragments.html#using_screen_fragment_data
但没有将详细解释fragment如何接收参数。

需要在 Fragment 内部实现相应的 setter 方法。
比如如果需要使用 <property name="strParam" value="some value"/>
那么在 fragment 内部需要有:public setStrParam(String input) 方法。
注意看文档的注释:

%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20200113171637 %E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20200113171710

需要在 AfterInit 事件中获取,可以尝试将下面代码放入你的 fragment 中试试。

    @Subscribe(target = Target.PARENT_CONTROLLER)
    public void onAfterInit(Screen.AfterInitEvent event) {
        System.out.println("after init:"+strParam);
    }

OK,搞定了。 还是要多看看生命周期