搜索时在 table 布局中以不同方式设置备用行的样式
Style the alternate row differently in table layout while searching
我正在使用 table layout.I 交替 table 行的背景颜色(灰色和白色条带)但是当我使用搜索(下面的代码)时,我必须重新设置样式table。在下面的代码中,我只能设置单列的样式。我如何设置所有五列的样式。我尝试了一些事情,但都是徒劳的?任何帮助表示赞赏。谢谢。
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);
}
});
我现在得到的是这个。我需要整行相同的背景颜色
设置背景时调用 ta.getParent().getAllStyles()
而不是 cnt.getAllStyles()
。
我正在使用 table layout.I 交替 table 行的背景颜色(灰色和白色条带)但是当我使用搜索(下面的代码)时,我必须重新设置样式table。在下面的代码中,我只能设置单列的样式。我如何设置所有五列的样式。我尝试了一些事情,但都是徒劳的?任何帮助表示赞赏。谢谢。
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);
}
});
我现在得到的是这个。我需要整行相同的背景颜色
设置背景时调用 ta.getParent().getAllStyles()
而不是 cnt.getAllStyles()
。