У меня есть контейнер табов в моей форме с 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();
}
}
Есть ли что-то я делаю неправильно или что я хочу добиться не возможно?
Если вы не переключаете swipeActivated, это работает? Когда вы говорите прокручиваемое вы ссылаетесь на swipeable? Обратите внимание, что прокрутка и салфетки вкладок являются полностью отдельными действиями! Убедитесь, что вкладки находятся в центре макета границы в родительской форме, поэтому они занимают нужный размер в родителе без прокрутки. –
@ShaiAlmog Я говорю о том, чтобы сделать вкладки простыми. Когда я переключаю его в свой setUpMainPage(), он прокручивается. Проблема, с которой я столкнулась, заключается в том, что сначала предотвращаем салфетки и активируем ее только после щелчка элемента списка и изменения selectedIndex. Поэтому мне постоянно нужно будет переключать и разворачивать swipeActivated. – Kyri33
@ShaiAlmog Как ни странно. Когда я открываю диалог, а затем удаляю этот диалог, вкладки могут прокручиваться. Поэтому, если я просто вызываю tabs.setSwipeActivated (true) и переопределяет форму, вкладки не могут провести. Однако, когда я вызываю setSwipeActivated (true), а затем прямо под ним, я показываю пустой диалог, а затем удаляю его, вкладки внезапно могут прокручиваться. То, что вызывается, когда я создаю, показываю и удаляю диалог, запускающий setSwipeActivated. Чтобы я мог это назвать, вместо создания бессмысленного диалога. По понятным причинам. – Kyri33