2

私はこのBlackBerry 7.1のようなものを達成しようとしています:

ここに画像の説明を入力

しかし、これまでのところ、このようなことを達成する方法を見つけたり、思いついたりすることはできませんでした. 私が見つけたのは「BlackBerry - TreeField with Checkboxes?」だけでしたが、親のチェックボックスを選択してもすべての子のチェックボックスが選択されるわけではなく、チェックボックスを選択するたびに追加のメニューを処理する必要があるため、これは本当に私が望むものではありません. これを達成する他の方法はありますか?

4

1 に答える 1

2

インデントは実行可能で、ロジックは自分で作成する必要があります。

チェックボックスがオン/オフになったことを検出できるように、すべてのチェックボックスフィールドにFieldChangeListenerを設定できます。親がチェックされているかチェックされていない場合は、各子フィールドを手動で呼び出しsetCheckedて、それらをチェック/チェック解除します。子の場合、一方がチェックされていない場合は、親のチェックを外します。

これは、単一のネスト レベル (親と子) の基本的なロジックです。バインドされたチェックボックス フィールドの更新を発生させるイベントがユーザーによって生成された (プログラムではない) ことをリスナーで確認してください。プログラムで呼び出しますsetChecked。考慮しないと、望ましくない伝播と無限ループに遭遇します。もちろん、ネストのレベルが複数ある場合は、プログラムによって発生するイベントに注意する必要があります。

于 2013-03-22T11:34:36.420 に答える