在blackberry中点击列表字段复选框的select all menuitem时如何一次选择所有项目

在blackberry中点击列表字段复选框的select all menuitem时如何一次选择所有项目,blackberry,listfield,Blackberry,Listfield,我想在应用程序中点击“全选”菜单项时,一次选择列表字段中的所有项目 selectall = new MenuItem("Selectall", 200, 10){ public void run(){ int elementLength = _elements.length; for(int count = 0; count < elementLength; ++count) {

我想在应用程序中点击“全选”菜单项时,一次选择列表字段中的所有项目

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);
                }
            }
        };
selectall=newmenuitem(“selectall”,200,10){
公开募捐{
int elementLength=_elements.length;
for(int count=0;count

但是我也从旧列表中得到了结果。在旧列表下面,这个新列表将被选中。如何解决这个问题。请给出您的想法。以及我在哪里出错。提前感谢。

您使用了
列表字段。插入
意味着您正在向列表中添加新的
ChecklistData
对象。这就是为什么你会在之前的列表下面得到一个全新的列表。不要添加到
\u listData
,而是遍历它并设置要检查的
ChecklistData

它看起来像是一个自定义类,所以我不知道您需要做什么。如果在
\u listData
中使用,可以这样做:

for (Enumeration e = _listdata.elements() ; e.hasMoreElements() ;) {
    CheckboxField c = (CheckboxField)e.nextElement();
    c.setChecked(true);
}

谢谢你的建议。我现在解决了我的问题解决方法是

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);

                }
            }
        };
selectall=newmenuitem(“selectall”,200,10){
公开募捐{
int elementLength=_elements.length;
for(int count=0;count
我尝试使用您的代码。但是我得到的异常是:java.lang.ClassCastException。结果没有更改,只是列表元素与以前相同。我没有设置为true。感谢您的回答。我得到了解决方案。我尝试了这样的方法_setElementAt(新的ChecklistData(_elements[count],true),count);现在对我来说它正常工作了。你的方法可以工作,但你也在浪费内存。您正在创建该
ChecklistData
项的第二个副本,只是为了设置要选中的复选框值。是的,Java的垃圾收集器会将其清理干净,但您正在为手机和应用程序创建额外的工作,而这些工作非常简单。我仍然认为您需要找到一个方法来设置要选中的ChecklistData复选框,而无需创建新实例。