在我的应用程序中,用户可以创建一个元素数组。他可以将Array1的名称分配给Array2。我的问题是,每次启动应用程序时,Array2 arraylist都是空的。 我定义数组是这样的:安卓数组列表在发布时为空
ArrayList<String> Array2 = new ArrayList<String>();
,这我怎么填充的ArrayList:
Array2.add(strBuf.toString()); //strBuf is StringBuffer created from two strings
我是否错过了什么,或者我应该到数组保存到一个文件或者SG?
更新:
我在对话框中有两个旋钮和一个OK按钮。当用户从旋钮中选择项目并单击确定时,元素将添加数组列表。这是通过串联两个字符串完成的,一个用于第一个微调器,一个用于第二个(链接名称1和链接名称2)。 首先当数组列表为空时,添加项目。当数组列表中至少有一个项目时,验证该项目是否已经在数组列表中。如果是,则会被覆盖,否则会被添加。
Button okbtn = (Button) dialog.findViewById(R.id.ButtonOK);
okbtn.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
if ((linkname1!="") && (linkname2!=""))
{
strBuf = new StringBuffer();
strBuf.append(linkname2);
strBuf.append(" ");
strBuf.append(linkname1);
if (Array2.size() < 1)
{
Array2.add(strBuf.toString());
}
else if (Array2.size() > 0)
{
for (int i=0; i<Array2.size(); i++)
{
spaceIndex4 = Array2.get(i).indexOf(' ');
if (spaceIndex4 > 0)
{
if (linkname1.equals(Array2.get(i).substring(spaceIndex4+1, Array2.get(i).length()))==true)
{
van=1;
Array2.remove(i);
Array2.add(strBuf.toString());
}
else
{
van=2;
}
}
}
}
}
dialog.dismiss();
if (van == 2)
{
Array2.add(strBuf.toString());
}
}
});
我稍后使用Arraylist中的项目(当用户单击ListView的特定项目时,应显示此ArrayList的项目)。 当我退出应用程序,无论是在Eclipse中,还是在我的手机上,然后再次打开该应用程序时,数组列表为空(因此当用户单击ListView项目时,项目不再出现)。 代码中没有Array2.clear()等。
请向我们展示更多代码,因为这里没有错 – Dalmas 2011-03-05 19:58:41
还包括为什么您认为ArrayList为空以及如何向用户呈现ArrayList。 – 2011-03-05 20:00:25