Ich habe eine InfiniteContainer-Liste, in der jedes Element ein relativ komplexer Container mit mehreren verschiedenen Schaltflächen mit jeweils ihrer Aktion ist. Da es sich um eine scrollbare Liste handelt, verwende ich LongPointerPress, um Drag & Drop zu aktivieren, wie es Shai in einem anderen Beitrag empfohlen hat. Um dies zu tun, muss ich eine führende Komponente einstellen. Wenn ich es jedoch einstelle, erhält keiner der anderen Knöpfe ihre individuellen Ereignisse. Ich dachte, ich könnte die getLeadComponent() der Tasten überschreiben, um es null zurückgeben, um sicherzustellen, dass diese Tasten ihre eigenen Ereignisse behandeln, aber es ist privat und konnte nicht an andere Lösung für jetzt denken.Wie können Sie mit einer Lead-Komponente sicherstellen, dass einige Komponenten ihre eigenen Ereignisse verarbeiten?
Gibt es einen empfohlenen Ansatz für die Handhabung?
NB. Ich habe viel Zeit damit verbracht, Teiltipps aus verschiedenen Beiträgen zusammenzustellen und Trial and Error zu verwenden, damit diese Benutzeroberfläche funktioniert. Es wäre nützlich, wenn die CN1-Dokumentation mehr explizite Ratschläge zu den Ansätzen enthalten könnte, die für solch eine "echte" komplexe UI funktionieren, die zB Listen zusammenfassen, & fallen lassen, mehrere Tasten drücken, lange drücken für zusätzliche Aktionen, Swipable containers, ... Es sollte sich nicht wie ständiges Hacken anfühlen ;-)
Haben Sie durch das Entwicklerhandbuch geschaut? http://codenameone.com/manual/ Es ist das PDF über 770 Seiten expliziter Beispiele. –
Danke, ja ich tat es. Mein Punkt ist, dass das Handbuch (plus Ihre vielen hilfreichen Antworten in den Foren) alle spezifischen Situationen einzeln beschreiben, aber wenn Sie versuchen, alles in einer komplexen Benutzeroberfläche zusammenzusetzen, wird es wirklich schwierig, die Interaktionen zu verstehen und das Ganze richtig zu machen . Vielleicht könnte eine Möglichkeit, dies zu beheben, darin bestehen, einen Abschnitt im Handbuch hinzuzufügen, in dem Sie zeigen, wie Sie einige echte komplexe UIs, z. aus bekannten iOS/Android-Apps? – user1246562
Ich denke, die Lösung dafür ist die Verwendung der Demos als Referenz. Die Probleme mit "alles zusammenfügen" sind immer schwierig und oft schwer zu dokumentieren. Wir arbeiten an den Demos, um mehr separate Teile zusammenzufügen, aber aufgrund der Natur der sich entwickelnden Komplexität wird dies nur einige Probleme der Leute lösen. –