2017-03-06 1 views
0

Ich hatte einige Probleme mit einem List-Konzept in Codename 1. Ich brauche eine Liste mit Elementen, die zur Laufzeit dynamisch gefüllt werden, aber ich weiß nicht, wie es geht, also hilft mir jemand bei diesem Problem?Liste in Codename 1 dynamisch auffüllen

+0

Können Sie ein wenig mehr Informationen darüber geben, was Sie tun möchten und was genau Sie mit "dynamisch auffüllen" meinen? Aus welchen Quellen beziehen Sie die Informationen für die Liste? – socona

+0

Immer wenn ich eine Zeichenfolge in das TextField schreibe und dann auf die Schaltfläche zum Absenden klicke, wird die Zeichenfolge zur Liste hinzugefügt. –

+0

Ein Formular aktualisiert sich nicht selbst. Sie müssen "form.revalidate()" um dies zu tun. Abhängig davon, wo Sie die Zeichenfolge hinzufügen. Dies funktioniert, wenn Sie diese Zeichenfolge direkt zur Komponente des Formulars hinzufügen. – socona

Antwort

2

Abhängig davon, wie Ihre Liste aufgebaut ist ... z. wenn Sie ein Formular mit einem Container haben, der Ihre Liste als Label enthält.

Container c = new Container(BoxLayout.y()); 
//adding strings as labels 
c.add("String1").add("String2"); 

Dann können Sie später hinzufügen auf einen String zu diesem Container

c.add("new String"); 

Aber die Form wird sich nicht aktualisieren. Also würden Sie haben

form.revalidate() ODER form.animateLayout(150)

der Lage sein, die Änderungen auf dem Bildschirm zu zeigen.

+0

Können Sie bitte erklären, warum wir. Revalidate() oder .animateLayout() Methoden verwenden? –

+0

Überprüfen Sie bitte die [Entwickleranleitung] (https://www.codenameone.com/manual/animations.html). Ich bekomme alle meine Informationen von dort und von der [Java-Dokumentation] (https://www.codenameone.com/javadoc/com/codename1/ui/Form.html) – socona

Verwandte Themen