Tabs 问题与标签被激活。
我的表单中有一个包含两个选项卡的选项卡容器。第一个选项卡有一个列表,单击列表项时,第二个选项卡将使用setSelectedIndex滚动至。起初,选项卡是不可滚动的。但是,当第二个选项卡滑动到时。我希望选项卡可以滚动,以便允许用户使用滑动手势返回。因此,我最初将swipeActivated设置为false,然后当单击列表项时,我尝试将WipeActivated设置为true,然后重新验证表单,但在运行应用程序时,这不会激活滑动手势。这是我的密码 在应用程序打开时调用:Tabs 问题与标签被激活。,tabs,codenameone,Tabs,Codenameone,我的表单中有一个包含两个选项卡的选项卡容器。第一个选项卡有一个列表,单击列表项时,第二个选项卡将使用setSelectedIndex滚动至。起初,选项卡是不可滚动的。但是,当第二个选项卡滑动到时。我希望选项卡可以滚动,以便允许用户使用滑动手势返回。因此,我最初将swipeActivated设置为false,然后当单击列表项时,我尝试将WipeActivated设置为true,然后重新验证表单,但在运行应用程序时,这不会激活滑动手势。这是我的密码 在应用程序打开时调用: public void s
public void setUpMainPage() {
mainForm = (Form) u.createContainer(theme, "MainPage");
Tabs mainTabs = (Tabs) u.findByName("MainTabs", mainForm);
mainTabs.setAnimateTabSelection(false);
mainTabs.setSwipeActivated(false);
findContainer = (Container) u.findByName("GridContainer",
mainForm);
setUpFindContainer();
setUpMibrand();
setUpVouchers();
setUpHomePage();
findTabs = (Tabs) u.findByName("FindTabs", mainForm);
findTabs.hideTabs();
findTabs.setSwipeActivated(false);
insideTabs = (Tabs) u.findByName("InsideTabs", mainForm);
insideTabs.hideTabs();
insideTabs.setSwipeActivated(false);
homeTabs = (Tabs) u.findByName("HomeTabs", mainForm);
homeTabs.hideTabs();
homeTabs.setSwipeActivated(false);
mainForm.show();
}
列表项的ActionListener:
class findActionListener implements ActionListener {
String[] categoryList = {"Shopping Malls", "Food & Dining", "Clothing & Accessories", "Grocery Stores",
"Nightlife & Drinks", "Electronics", "Fitness & Health", "Travel & Hotels",
"Activities & Events", "Sports Gear", "House & Home", "Baby & Kids", "Beauty & Spa", "Motoring", "Liquor Stores", "More"};
int index;
Label categoryLabel;
public findActionListener(int i, Label catLabel) {
index = i;
categoryLabel = catLabel;
}
public void actionPerformed(ActionEvent evt) {
findTabs.setSelectedIndex(1, true);
//I set the swipe activated to true on click. Before I switch
//tabs
findTabs.setSwipeActivated(true);
categoryLabel.setText(categoryList[index]);
setUpFindList(categoryList[index]);
mainForm.revalidate();
}
}
是否有我做错了什么,或者我想实现的目标不可能实现?检查GUI builder UI中的选项卡是否未选中swipeActivated
另外,请确保调用setSwipeActivated true的任何代码都没有达到。检查GUI builder UI中选项卡的swipeActivated是否未选中
还要确保调用setSwipeActivated true的任何代码都没有到达。如果不切换swipeActivated,它能工作吗?当你说scrollable时,你指的是swipeable吗?请注意,滚动和标签滑动是完全独立的操作!确保选项卡位于父窗体中边框布局的中心,以便它们在不可滚动的父窗体中占据正确的大小。@ShaiAlmog我说的是使选项卡可旋转。当我在setUpMainPage()中切换它时,它会滑动。我遇到的问题是最初阻止了滑动,只有在单击列表项并且selectedIndex更改后才激活它。“所以我需要不断地切换和不切换开关激活状态。”ShaiAlmog说得很奇怪。当我打开一个对话框,然后处理该对话框时,选项卡可以滑动。因此,如果我只调用tabs.setsweep激活(true)并重新验证选项卡无法滑动的表单。然而,当我调用setsweepactivated(true)并在其正下方显示一个空对话框,然后将其释放时,选项卡突然可以滑动。当我创建、显示和处理一个触发设置的对话框时,会调用什么。这样我就可以调用它,而不是创建一个毫无意义的对话框。出于明显的原因。尝试在表单上使用forceRevalidate,看看它是否解决了您的问题。如果您不切换swipeActivated,它是否有效?当你说scrollable时,你指的是swipeable吗?请注意,滚动和标签滑动是完全独立的操作!确保选项卡位于父窗体中边框布局的中心,以便它们在不可滚动的父窗体中占据正确的大小。@ShaiAlmog我说的是使选项卡可旋转。当我在setUpMainPage()中切换它时,它会滑动。我遇到的问题是最初阻止了滑动,只有在单击列表项并且selectedIndex更改后才激活它。“所以我需要不断地切换和不切换开关激活状态。”ShaiAlmog说得很奇怪。当我打开一个对话框,然后处理该对话框时,选项卡可以滑动。因此,如果我只调用tabs.setsweep激活(true)并重新验证选项卡无法滑动的表单。然而,当我调用setsweepactivated(true)并在其正下方显示一个空对话框,然后将其释放时,选项卡突然可以滑动。当我创建、显示和处理一个触发设置的对话框时,会调用什么。这样我就可以调用它,而不是创建一个毫无意义的对话框。原因很明显。请尝试在表单上使用forceRevalidate,看看它是否解决了您的问题。GUI生成器中没有swipeActivated复选框。你说的是可滚动的x吗?任何类型的滚动都不应该为任何选项卡或其父项激活。您是否在调用setSwipeActivated时设置了断点?GUI生成器中没有swipeActivated复选框。你说的是可滚动的x吗?任何类型的滚动都不应该为任何选项卡或其父项激活。您是否在调用Setsweep时设置了断点?