赞
踩
【前言】
同一个Ability下的两个不同的AbilitySlice,官方给的Java UI中是通过present跳转AbilitySlice,使用AbilitySlice.terminate方法关闭Slice,具体可以参考官方给的示例代码(Samples: We provide a series of app samples to help you quickly get familiar with the APIs and app development process of the HarmonyOS SDKs. | 为帮助开发者快速熟悉HarmonyOS SDK所提供的API和应用开发流程,我们提供了一系列的应用示例 - Gitee.com)
【问题描述】
我们遇到的问题是:两个Slice, A 和 B,B中有一个输入框。从A present 跳转到B以后,修改B中的输入框,然后返回A,重新打开B。这个时候B中的输入框并不是初始化的状态,而是上一次被修改的UI。

【解决方案】
使用使用LayoutScatter动态解析XML文件, 修改onStart中的代码:
- @Override
- protected void onStart(Intent intent) {
- super.onStart(intent);
- // super.setUIContent(ohos.samples.pageability.ResourceTable.Layout_first_ability_second_slice);//不直接使用layoutRes xml
-
- super.setUIContent((ComponentContainer) LayoutScatter.getInstance(getContext()).parse(ResourceTable.Layout_first_ability_second_slice, null, false));
- //使用LayoutScatter加载xml
- HiLog.error(new HiLogLabel(HiLog.LOG_APP, 0, "MY_TAG"), "%{public}s", data+"");
- initComponents();
- setResult();
-
- }
欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。