Tabs 问题与标签被激活。

Tabs 问题与标签被激活。,tabs,codenameone,Tabs,Codenameone,我的表单中有一个包含两个选项卡的选项卡容器。第一个选项卡有一个列表,单击列表项时,第二个选项卡将使用setSelectedIndex滚动至。起初,选项卡是不可滚动的。但是,当第二个选项卡滑动到时。我希望选项卡可以滚动,以便允许用户使用滑动手势返回。因此,我最初将swipeActivated设置为false,然后当单击列表项时,我尝试将WipeActivated设置为true,然后重新验证表单,但在运行应用程序时,这不会激活滑动手势。这是我的密码 在应用程序打开时调用: public void s

我的表单中有一个包含两个选项卡的选项卡容器。第一个选项卡有一个列表,单击列表项时,第二个选项卡将使用setSelectedIndex滚动至。起初,选项卡是不可滚动的。但是,当第二个选项卡滑动到时。我希望选项卡可以滚动,以便允许用户使用滑动手势返回。因此,我最初将swipeActivated设置为false,然后当单击列表项时,我尝试将WipeActivated设置为true,然后重新验证表单,但在运行应用程序时,这不会激活滑动手势。这是我的密码

在应用程序打开时调用:

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时设置了断点?