2016-04-01 6 views
1

У меня есть контейнер табов в моей форме с 2 вкладками. На первой вкладке есть список, и при щелчке элемента списка вторая вкладка прокручивается до использования setSelectedIndex. Сначала вкладки не прокручиваются. Однако, когда вторая вкладка прокручивается. Я хочу, чтобы вкладки стали прокручиваемыми, чтобы позволить пользователю вернуться с помощью жестов салфетки. Поэтому я сначала устанавливаю swipeActivated в false, а затем, когда щелкнут элемент списка, я пытаюсь установитьSwipeActivated на true, а затем переопределить форму, но это не активирует жестов салфетки при запуске приложения. Вот мой код.Проблема с вкладками setSwipeActivated.

Вызывается как приложение открыто:

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(); 
    } 

} 

Есть ли что-то я делаю неправильно или что я хочу добиться не возможно?

+0

Если вы не переключаете swipeActivated, это работает? Когда вы говорите прокручиваемое вы ссылаетесь на swipeable? Обратите внимание, что прокрутка и салфетки вкладок являются полностью отдельными действиями! Убедитесь, что вкладки находятся в центре макета границы в родительской форме, поэтому они занимают нужный размер в родителе без прокрутки. –

+0

@ShaiAlmog Я говорю о том, чтобы сделать вкладки простыми. Когда я переключаю его в свой setUpMainPage(), он прокручивается. Проблема, с которой я столкнулась, заключается в том, что сначала предотвращаем салфетки и активируем ее только после щелчка элемента списка и изменения selectedIndex. Поэтому мне постоянно нужно будет переключать и разворачивать swipeActivated. – Kyri33

+0

@ShaiAlmog Как ни странно. Когда я открываю диалог, а затем удаляю этот диалог, вкладки могут прокручиваться. Поэтому, если я просто вызываю tabs.setSwipeActivated (true) и переопределяет форму, вкладки не могут провести. Однако, когда я вызываю setSwipeActivated (true), а затем прямо под ним, я показываю пустой диалог, а затем удаляю его, вкладки внезапно могут прокручиваться. То, что вызывается, когда я создаю, показываю и удаляю диалог, запускающий setSwipeActivated. Чтобы я мог это назвать, вместо создания бессмысленного диалога. По понятным причинам. – Kyri33

ответ

0

Убедитесь, что в интерфейсе GUI Builder для вкладок не проверено, что swipeActivated не установлен.

Также убедитесь, что код, в котором вы вызываете setSwipeActivated true, не достигнут.

+0

В GUI Builder отсутствует флажок swipeActivated. Вы говорите о прокручиваемом x? – Kyri33

+0

Прокрутка любого типа не должна активироваться ни для одной из вкладок или для любого из ее родителей. Вы поставили точки останова на свои вызовы в setSwipeActivated? –