我确实有一个我想单独保存的组件列表,以便操纵它们与GUI隔离(例如以各种方式排序)。 该列表中的组件被添加到一个单独的容器中,该容器在Y轴方向的简单框布局中显示这些元素。
当我刷新容器中的组件(删除所有组件,再次添加列表并重新验证或动画更改)时,我得到容器本身的索引超出范围异常。
private void refreshComponents() {
container.removeAll();
container.animateUnlayout(200, 0, null);
for (Component cmp : sortedComponentList) {
container.add(cmp);
}
container.animateLayout(150);
}
不知何故,当调用removeall后跟迭代的Container.add()时,内部arraylist跟踪其组件,搞砸了。有人知道吗?
//test login with username and empty password
let app = XCUIApplication()
let elementsQuery = app.scrollViews.otherElements
let emailtextfieldElement = elementsQuery.otherElements["emailTextField"]
let passwordtextfieldElement = elementsQuery.otherElements["passwordTextField"]
emailtextfieldElement.tap()
passwordtextfieldElement.tap()
emailtextfieldElement.tap()
app.typeText("wayne@test.com")
passwordtextfieldElement.tap()
app.buttons["Login - signInButton"].tap()
任何帮助都将不胜感激。
谢谢和最好的问候
答案 0 :(得分:0)
似乎removeAll
没有像add
操作那样序列化。通常,当动画正在进行时改变容器的状态时,操作将被序列化"所以它会在动画完成后发生。
请提出相关问题,我们会尝试解决。这可能有点复杂,因为removeAll
并非无足轻重。