我试图一次将一个值从一个数组存储到一个向量中,所以它就像向量应该动态地增加它的大小。在我的应用程序中,当我们单击开始按钮时,数组中的值转到另一个页面,提取的地方,&然后显示,但我正在尝试将该值添加到矢量&将它保存在黑莓的持久内存中,我只能看到最后一个已被添加到向量中,但我希望向量逐个添加我发送到其他页面的所有值,这里是代码,任何人都可以帮助我出去了
if ( quesNum != null && quesCount < quesNum.length )
{
Vector data = new Vector();
data.addElement ( TestScreen.quesNumber + "" );
synchronized ( curQues )
{
curQuesnew = quesNum[quesCount];
curQues.setContents ( curQuesnew + "" );
curQues.commit();
}
synchronized ( disques )
{
System.out.println ( "value is " + data );
disques.setContents ( data );
disques.commit();
}
synchronized ( disques )
{
data = ( Vector ) disques.getContents();
}
if ( data.contains ( quesNum[quesCount] + "" ) )
{
xyz = quesNum[quesCount++];
System.out.println ( "i shall overcome........." );
}
else
{
System.out.println ( "hardwork conqures all........." );
xyz = quesNum[quesCount];
}
return xyz;
这是我每次单击下一个按钮时发送到其他页面的值,所以我试图将值存储到向量中,每次发送一个值时,bt向量只存储最新值,nt整个值//
答案 0 :(得分:1)
这将是我最后一次尝试回答你的问题。注意。
这是你应该如何管理持久性向量。
static Vector data;
static PersistentObject disques =
PersistentStore.getPersistentObject(0x9e6d76868a999451L);
}
public static int test() {
data = (Vector) disques.getContents();
if (data == null) {
System.out.println("Disques is empty!!");
data = new Vector();
disques.setContents(data);
} else {
System.out.println("Disques contains: " + data);
}
data.add("This is question " + data.size() + "\n");
disques.commit();
}
每次调用test
时,它都会获取持久对象的值并检查它是否已初始化。如果尚未初始化,则初始化为空Vector。然后它向向量添加一个问题并提交更改。
如果您不明白这一点,我很抱歉,但我不准备花更多时间来解释。我绝对不准备花时间试图解开您的应用程序变成的随机混乱。
答案 1 :(得分:0)
我无法理解你问题的正文。但是这里有一些简单的代码来说明如何将值添加到Vector
。
Vector v = new Vector();
v.add("first string");
v.add("second string");
System.out.println(v.size()); // outputs "2"
System.out.println(v.get(0)); // outputs "first string"
System.out.println(v.get(1)); // outputs "second string"
除非您有使用Vector
的具体原因,否则最好使用ArrayList
。
答案 2 :(得分:0)
我不完全明白你想要做什么,但我可以看到你每次都在创建一个新的Vector。
Vector data = new Vector();
data.addElement ( TestScreen.quesNumber + "" );
当然,data
只会包含一个元素。我猜disques
是PersistentObject
?所以要做的第一件事就是获取现有内容(就像你以后一样):
synchronized ( disques ) {
data = ( Vector ) disques.getContents();
}
然后将您的新内容添加到data
并将commit
添加回PersistentObject
。