Хорошо, поэтому раньше я использовал наблюдателей для проектов, и я придерживаюсь той же методологии для этого, но по какой-то причине мой метод обновления в моем наблюдателе вообще не вызывается.
В моей активности приложения для Android:
public void newGame(View view)
{
poleLeft.clear();
}
В моем классе поляков:
public void clear()
{
stack.clear();
size = 0;
head = 0;
setChanged();
notifyObservers();
}
В моем классе просмотра:
private class PoleObserver implements Observer
{
public void update(Observable observable, Object data)
{
postInvalidate();
}
}
и
leftPole.addObserver(new PoleObserver());
По сути, все, что я хочу сделать, это иметь определенное количество элементов на полюсе (poleLeft), очистить его и перерисовать представление приложения, чтобы отразить эти изменения. Однако, когда я нажимаю кнопку, полюс очищается, но представление не изменяется, и помещение System.out.println в метод обновления никогда не приводит к выводу, поэтому он никогда не запускается. Почему это было бы?