в моем приложении пользователь может создать массив элементов. Например, он может назначить имя Array1 для Array2.Моя проблема в том, что каждый раз, когда я запускаю приложение, Array2 Arraylist пуст.Я определяю массив следующим образом:
ArrayList<String> Array2 = new ArrayList<String>();
и вот так я заполняю массив:
Array2.add(strBuf.toString()); //strBuf is StringBuffer created from two strings
Я что-то пропустил или мне следует сохранить в массив в файл или в sg else?
Обновление:
У меня есть два счетчика и кнопка ОК в диалоговом окне.Когда пользователь выбирает элементы из счетчиков и нажимает кнопку ОК, элемент добавляет массив.Это делается путем объединения двух строк, одна для 1-го счетчика, другая для второй (linkname1 и linkname2).Сначала, когда массив пуст, элемент добавляется.Если в массиве есть хотя бы один элемент, выполняется проверка, есть ли этот элемент в списке.Если это так, он перезаписывается, если нет, то он добавляется.
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 () или чего-либо подобного.