2016-12-19 10 views
1

私はこれまで、ドラッグアンドドロップ機能でContainerListを使用してきました。 ContainerListは非難されているので、私は今、別のものを使用しようとしています。ドキュメントで推奨されているように、Y軸にBoxLayoutを持つコンテナを使用したいと思います。 これを見ても、これはむしろ難しいようです。Containerlistを使用しないドラッグアンドドロップ

私が(再)作成しようとしているのは、ラベルとボタンを含むエントリーのリストで、longPointerPressとそれに続くドラッグ&ドロップで並べ替えられます。

これまで、私はContainerListクラスとContainerList.Entryクラスを大幅に変更することでこれを行うことができました。

しかし、コンテナでは、これを行う方法が全くわかりません。

私はそれを見るように、これは伴うだろう:

  • コンテナとオーバーライドde.sae.tryout.modules.dragdrop.DraggableContainer.getComponentAt(int型、int型)由来ListEntryコンポーネントの作成は、常にこれを返すためにrecommは何ですか:これは質問許容できないトリックと私には思われますので、それは

適切であるかどう子コンポーネントへのポインタイベントを通過し、その状態に依存し、ポインタの相互作用と

  • のすべてを傍受しますそのような並べ替え可能なエントリのリストを表示するために、各エントリにいくつかのラベルとボタンが含まれていますか?

  • 答えて

    0

    すべてのエントリは、コンテナリストのように感じさせるためのリードコンポーネントであるため、リードコンポーネントでsetDraggable(true)を使用するだけで、親のsetDropTarget(true)はドラッグアンドドロップを許可します。

    これは長いポインタ・プレスの場合と同じ動作をしませんが、問題はあるかもしれませんが、そうでないかもしれません。これが問題の場合は、リードコンポーネントのドラッグ初期化動作をオーバーライドして、動作させた方法に近づけることができます。

    +0

    私のリストのエントリには、ボタンとラベルが含まれています。私がラベルをleadComponentにすると、ラベルはすべてのポインタイベントを取得するので、ボタンは使用できません。私がボタンを作成する場合、このボタンだけが起動し、他の兄弟コンポーネントがタップされている場合は、leadComponentです。 あなたのソリューションは私のためには機能しません。 –

    +0

    https://www.codenameone.com/blog/unleading-mutating-accordion.htmlを参照してください。 –

    関連する問題