Determinação do índice de um item num formulário (J2ME)

votos
0

Dado um Itemque foi anexado a um Form, o que é a melhor maneira de descobrir o que o índice desse item está em no formulário?

Form.append(Item) vai me dar o índice seu inicialmente adicionados no, mas se eu depois inserir itens antes que o índice vai estar fora de sincronia.

Publicado 24/09/2008 em 17:10
fonte usuário
Em outras línguas...                            


2 respostas

votos
1

Este foi o melhor que eu poderia vir acima com:

private int getItemIndex(Item item, Form form) {
    for(int i = 0, size = form.size(); i < size; i++) {
        if(form.get(i).equals(item)) {
            return i;
        }
    }
    return -1;
}

Eu realmente não tenho testado isso, mas deve trabalhar, eu só não gosto de ter de enumerar cada item, mas, em seguida, nunca deve haver que muitos então eu acho que é ok.

Respondeu 24/09/2008 em 17:58
fonte usuário

votos
0

Bem, existem apenas duas maneiras de fazer isso, já que a API não tem um indexOf(Item)método:

  1. Você atualizar o índice que você começa quando você adicionar um Item. Então, quando você inserir outro Itemantes de outros itens, você terá que atualizar os índices desses itens. Você poderia manter algum tipo de sombra-array para isso, mas que parece um exagero bit.
  2. Você percorrer todos os itens de um formulário usando os sizee getmétodos de Form.
Respondeu 23/10/2008 em 12:38
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more