0

モバイルテーマのSparkListには、コンテキストメニューを優先して無効にする必要がある奇妙な動作があります。

そのリストのデフォルトの動作では、別のアイテムが選択された状態に入ったときにのみ、アイテムは選択色を失います。つまり、ユーザーがアイテムのダウン状態(マウスダウンまたはタップアンドホールドのいずれか)を維持している間、2つのアイテムに選択色が表示されます。1つはまだ選択されており、現在のアイテムはダウン状態です。

必要なのは、選択したアイテムがダウン状態になるとすぐに選択の色/状態が失われることです。したがって、基本的には、ダウン状態に入るとすぐに選択状態を設定する必要があります。

なぜ私はあなたが尋ねるかもしれないこれが必要なのですか、私に説明させてください。私のリストには、長押しすると開くコンテキストメニューが必要です。また、長押しイベントがトリガーされる前に長押しにはマウスアップイベントが含まれないため、アイテムは選択されません。したがって、他のアイテムは選択色を失うことはありません。

私のitemRendererはASで記述された標準のLabelItemRendererであり、親コンポーネントではなく、ItemRendererでこの機能を変更すると便利です。

誰かがこれを達成する方法の手がかりを持っていますか?

4

1 に答える 1

1

LabelItemRendererを使用しているので、モバイルアプリを作成していると思います。これは一種の推測です。しかし...

Long PressイベントハンドラーをitemRendererに追加し、イベントハンドラーでitemRendererの選択されたプロパティを変更できますか?

ただし、itemRendererをこのように変更すると、実際のリストも変更されるかどうかはわかりません。理論的にはそうすべきではありません。

それとは別に、Long PressイベントがitemRendererから発生した場合は、新しいメニューをポップアップする前に、Listクラスでそれをリッスンし、selectedItemをそのように変更できます。

于 2012-05-11T12:33:06.633 に答える