2

GWTリストボックスの使用に問題があります。ユーザーがリストボックスから値を選択する場合がありますが、関連フィールドのデータを変更すると無効になる可能性があります。listBoxを検証するには、ユーザーは新しい値を選択するか、同じ値を再度選択して古い選択を確認する必要があります。リストボックスのスタイルを変更して検証済みに見えるように、同じ値を選択したかどうかを判断する方法がわかりません。

valueChangedハンドラーは、新しい値が選択されたかどうかのみを検出します。clickHandlerとfocusHandlerは、ユーザーが値を選択していないときに起動するため、頻繁に起動します。何か案は?

4

1 に答える 1

2

次のようなものでclickHandlerを改善できます:

     ignoreClick = true;
     lastSelection =  -1 ;
            ....
    listBox.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {

            if (!ignoreClick) {
                lastSelection = listBox.getSelectedIndex();
            }
            ignoreClick = !ignoreClick;     
        }
    });

試してみましたが、アイテムを選択した場合にのみイベントが発生しました。ただし、上記のように、ユーザーインターフェイスを再考する必要があります。

于 2012-10-19T08:35:50.440 に答える