У меня есть список слушателей.когда происходит событие, я хочу запустить бросить список и отправить всем им сообщение.по какой-то причине следующий код не работает:
private List<Listener> internetListeners = new ArrayList<Listener>();
private Iterator<Listener> it;
public void updateInternetListeners(boolean state)
{
Listener listener;
it = internetListeners.iterator();
if (state)
Log.d("Listener", "updating true");
else
Log.d("Listener", "updating false");
while (it.hasNext())
{
listener = (Listener)it.next();
listener.onInternetStateChange(state);
}
}
моя активность, которая слушает:
@Override
public void onInternetStateChange(boolean state) {
if (state)
text.setText("Internet is On");
else
text.setText("Internet is Off");
}
РЕДАКТИРОВАНИЕ: хорошо, я нашел мою проблему ... этот класс расширяет BroadcastReceiver.и список находится внутри этого класса.Каждое время состояние Интернета меняется, он создает новый экземпляр этого класса, а зарегистрированные слушатели не доступны для этого экземпляра. Какую оболочку я делаю?