搜索时在表格布局中以不同方式设置备用行的样式

时间:2016-05-20 08:59:49

标签: java codenameone

我正在使用表格布局。我交替使用表格行的bg颜色(灰色和白色条带)但是当我使用搜索(下面的代码)时,我必须重新设置表格。在下面的代码中,我只能设置单列样式。我如何设置所有五列的样式。我尝试了几件事但都徒劳无功?任何帮助表示赞赏。三江源。

    searchTextField.addDataChangeListener(new DataChangedListener() {
        @Override
        public void dataChanged(int type, int index) {
            String getTextField = searchTextField.getText().toLowerCase();
            int counter = 0;
            int counterVisible = 0;
            boolean show = false;
            TextArea ta = new TextArea();
            for (Component c : containerTableData) {
                c.setName("searchContainer");
                Container cnt;
                cnt = (Container) c;

                if (counter % 5 == 0) {
                    ta = (TextArea) cnt.getComponentAt(0);
                    ta.setName("" + counter);
                    show = ta.getText().toLowerCase().indexOf(getTextField) > -1;
                }
                cnt.setHidden(!show);
                cnt.setVisible(show);

                if (cnt.isVisible()) {
                    cnt.setUIID("isVisible");
                    if (counterVisible % 2 == 0) {
                        ta.getParent().getAllStyles().setBgTransparency(255);
                        ta.getParent().getAllStyles().setBgColor(0xcccccc);
                    } else {
                        ta.getParent().getAllStyles().setBgTransparency(255);
                        ta.getParent().getAllStyles().setBgColor(0xffffff);
                    }
                    counterVisible++;
                }
                counter++;
            }
            containerTableData.animateLayout(200);
        }
    });

我现在得到的是这个。我需要整行相同的bg颜色

enter image description here

1 个答案:

答案 0 :(得分:0)

设置背景时,您正在调用ta.getParent().getAllStyles()而不是cnt.getAllStyles()