2010-08-16 8 views
0

J'ai ajouté une liste de choix en utilisant ListModelList à une zone de liste ZK. Ensuite, j'ai essayé de parcourir cette liste de choix et de trouver un élément requis (disons "String"). J'ai besoin de définir cet élément ("String") comme l'élément sélectionné.comment définir un élément à l'index "i" comme élément sélectionné dans la boîte aux lettres zk

J'ai essayé le code ci-dessous, mais cela ne fonctionne pas. Y a-t-il un moyen de faire cela ?

liveListModel = new ListModelList(new AppModelItem [] { 
     new AppModelItem("String", "string"), 
     new AppModelItem("Number", "number"), 
     new AppModelItem("Array", "array") 
    }); 

    String choice [] = {"String", "Hello", "XYZ" }; 

    Listbox typesList = new Listbox(); 
    typesList.setModel(liveListModel); 
    for (int i = 0; i < choice.length; i ++) { 
     if (choice.[i] == typesList.getItemAtIndex(i).getValue().toString()); 
     typesList.setSelectedItem(typesList.getItemAtIndex(i)); 
    } 

Merci, Sony

Répondre

1

Si ce code est votre code d'origine, copié et collé à l'éditeur, puis retirez le point-virgule après la si expression et utiliser equals pour tester les chaînes pour l'égalité. La boucle devrait ressembler à ceci:

for (int i = 0; i < choice.length; i++) { 
    if (choice[i].equals(typesList.getItemAtIndex(i).getValue().toString())) { 
     typesList.setSelectedItem(typesList.getItemAtIndex(i)); 
    } 
} 

Si cela ne fonctionne toujours pas, ajouter un code de débogage pour vérifier si getValue() retourne vraiment la valeur correcte:

for (int i = 0; i < choice.length; i++) { 
    if (choice[i].equals(typesList.getItemAtIndex(i).getValue().toString())) { 
     typesList.setSelectedItem(typesList.getItemAtIndex(i)); 
    } else { 
     // DEBUG CODE 
     System.out.printf("Expected: %s, found: %s%n", typesList.getItemAtIndex(i).getValue().toString()); 
} 
+0

Oh c'était une erreur stupide je fabriqué. Merci! – sony

Questions connexes