Bom dia a todos!
Eu não consigo recuperar os valores digitados no componente listitem, ele está me retornando o número de itens corretamente, no exemplo abaixo foram digitados 2 itens, porém o formato que está vindo é o seguinte:
[<Listitem z_lt_l1>, <Listitem z_lt_u1>]
O código é o seguinte:
Captura o valor digitado pelo usuário e envia para o listbox.
package br.com.semente.xxx.MenuPopUp;
import org.zkoss.zul.Label;
import org.zkoss.zul.Listbox;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
@SuppressWarnings("serial")
public class ExpandingMenuItemRows extends Listbox{
public void addEmails(String email){
Label strEmail = new Label();
strEmail.setValue(email);
Listitem listitem = new Listitem();
Listcell strEmailList = new Listcell();
strEmailList.appendChild(strEmail);
listitem.appendChild(strEmailList);
this.appendChild(listitem);
}
O resultado do método addEmails preenche o listitem, abaixo do listhead.
<listbox id="rowsEmails" use="br.com.semente.xxx.testes.MenuPopUp.ExpandingMenuItemRows">
<listhead >
<listheader label="Email" width="auto"/>
</listhead>
</listbox>
E aqui eu estou tentando capturar os valores digitados, só que está me retornando o número de registros num formato estranho (acima em negrito), talvez esteja faltando algum tipo de conversão.
<button id="btnGravar" label="Inserir">
<attribute name="onClick">
<![CDATA[
List listBox = new ArrayList();
listBox.add(rowsEmails.getItems());
Iterator it = listBox.iterator();
while (it.hasNext()){
if (!listBox.isEmpty()){
Email email = new Email();
System.out.print(it.next());
if (email.validaEmail() == false){
System.out.println("Email incorreto: " + email.getEmail());
}
}
}
]]>
</attribute>
</button>
Alguém sabe o que é isso?