首页
学习
活动
专区
圈层
工具
发布

RMS问题
EN

Stack Overflow用户
提问于 2010-12-23 17:11:10
回答 1查看 763关注 0票数 1

我对RMS有一个问题,我需要的是删除一个记录,并在水平上升后移动记录,有没有机会这样做呢?我曾试图避免这种情况,但总之,我最终得到的结果是:

是否有任何方法可以将其转换为:

代码语言:javascript
复制
public void profilRmsPopulator(Form fr, ChoiceGroup hg) throws RecordStoreNotOpenException, RecordStoreException{
     int spacePos=0;

       for (int i =1; i<=rs.getNumRecords();i++){

       System.out.println("for loop\n");

  spacePos=RmsToStringDumper(i).indexOf(" ");
       System.out.println("spacePos: \n" +spacePos);

        hg.append(RmsToStringDumper(i).substring(0, spacePos),null);
           }

       fr.append(hg);

}

同时(recordEnumeration.hasNextElement())?当然,用这个字符串修整:P

好吧,也许我该解释一下我现在所遭受的问题。我已经在手机上创建了一个应用程序,到目前为止,它正在创建用户配置文件并在RMS中编写它,而且它运行得很好。该算法的工作原理如下:用户被要求提供配置文件的名称和其他一些细节,当他/她完成时,数据就会被保存。记录的模式如下所示: name_of_profile、模型、品牌等等。程序对记录进行裁剪以获得Name_of_profile,并将其放入choiceGroup中。它也像一种魅力,但真正的问题是删除,我可以删除第一或第二记录,但当我添加一个新的配置文件,我收到这样的错误:

javax.microedition.rms.InvalidRecordIDException:错误查找记录

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-23 17:28:11

我想您的意思是您需要“重新编号”记录ids,这样删除所创建的空白就不存在了,并且您有一系列整洁的ids,从1到n,记录的数量不等。

您可以这样做,但这将是昂贵的-没有“更新”的记录,只有添加/插入/删除操作。因此,您需要遍历所有记录,读取它们,删除它们,并使用修改后的id将它们写回。按正确的顺序应用更改可能也很棘手。

你为什么要消除这些空白?您可以使用RecordEnumeration方法返回的RecordStore enumerateRecords方法来迭代完整的集合,“跳过”空白。或者,您可以使用getRecordIDs方法获得当前一组ids的数组。在这两种情况下,您都可以迭代而不会看到空白。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4520931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档