2012-03-06 2 views
0

У меня есть класс, который реализует методы getter и setter и соответствующий код следующим образом.android ArrayList пуст после метода getter

ArrayList<String> viewArray = new ArrayList<String>(); 

public ArrayList<String> getView() { 
return viewArray; 
} 

от моей деятельности, я пытаюсь получить доступ ко хранящегося массива, как:

ArrayList<String> al = new ArrayList<String>(); 

al = parsedExampleDataSet.getView(); 

Но «аль» не получает никаких данных. Однако, когда getView() выполняется, viewArray заполняется должным образом. Что мне не хватает? Спасибо.

+0

пожалуйста, показать больше кода. – L7ColWinters

+2

Почему вы даете 'al' начальное значение, только чтобы заменить это значение результатом вызова' getView() '? Не ясно, в какой момент ничего не пусто ... –

+0

Если parsedExampleDataSet.getView() возвращает список, не должно быть проблем. отлаживаем его, ставим точку останова на эту строку al = parsedExampleDataSet.getView(); и вы увидите, что getView() возвращает пустой список. перед тем, как сделать этот список пустым или что-то еще. – Juvanis

ответ

1

У других есть хорошие комментарии, но я думал, что возьму вас через код, как я его вижу.

public class SomeClass { 
    // this is local to this class only 
    ArrayList<String> viewArray = new ArrayList<String>(); 
    public void process() { 
     // i'm guessing there is some sort of processing method that is called 
    } 
    public ArrayList<String> getView() { 
     return viewArray; 
    } 
} 

Вот ваш класс активности аннотацию некоторые подробности о стоимости a1:

public class YourActivity { 
    ArrayList<String> al = new ArrayList<String>(); 
    public void someMethod() { 
     // here a1 will be the same blank List you initialized it with 
     // unless someMethod() has been called before or a1 modified elsewhere 
     al = parsedExampleDataSet.getView(); 
     // after the call to getView, a1 is now a reference to SomeClass.viewArray 
     // the ArrayList that a1 was initialized with is then garbage collected 
    } 
} 

Пожалуйста, измените ваш вопрос объяснить более, что у вас возникли проблемы с.