0

アプリケーションの[すべて選択]メニュー項目をクリックするときに、リストフィールドのすべての項目を選択したいのですが、このようなコードで試しました。

selectall = new MenuItem("Selectall", 200, 10){
            public void run(){
            int elementLength = _elements.length;
             for(int count = 0; count < elementLength; ++count)
                {
            _listData.addElement(new ChecklistData(_elements[count], true));
            listField.insert(count);
                }
            }
        };

しかし、iamは古いリストでも結果を取得しています。古いリストの下に、この新しいリストがチェックされています。それを解決する方法。アイデアを教えてください。

4

2 に答える 2

0

の使用は、リストに新しいオブジェクトをlistField.insert追加することを意味します。ChecklistDataそのため、以前のリストの下に完全に新しいリストが表示されます。に追加する代わりに、それを調べて、チェックするよう_listDataに設定しChecklistDataます。

それはカスタムクラスのように見えるので、それを行うのに何が必要かわかりません。CheckboxFieldでsを使用した場合は、次の_listDataように実行できます。

for (Enumeration e = _listdata.elements() ; e.hasMoreElements() ;) {
    CheckboxField c = (CheckboxField)e.nextElement();
    c.setChecked(true);
}
于 2012-03-07T16:59:22.283 に答える
0

すべての提案をありがとう。私は今私の問題を解決しました..解決策は..

selectall = new MenuItem("Selectall", 200, 10){
            public void run(){

                int elementLength = _elements.length;
                for(int count = 0; count < elementLength; ++count)
                {
                    _listData.setElementAt(new ChecklistData(_elements[count], true), count);

                }
            }
        };
于 2012-03-08T04:46:41.367 に答える