Этот код короче, и, если задача только в том, чтобы менять две анимации по нажатию кнопки, то такой код подходит лучше. Код с разными обработчиками, который вы привели из моего раннего ответа к другому вопросу, нужен тогда, когда у вас на обработчике будет висеть несколько действий.
// устанавливаем первый обработчик
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
image.startAnimation(flag ? anim1 : anim2);
flag = !flag;
}
});
// запускаем первую анимацию
image.startAnimation(anim1);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
Так и не понял, что именно вы хотите сделать. Уточните, пожалйуста, какое событие происходит и как должно себя повести приложение. Т.е. в каком случае необходимо выводить Notificatiion и с какой целью.
Для пользователей и вашего приложения это может быть даже очень нужным. Поэтому надо, во-первых, учиться на чужих ошибках, а, во-вторых, написать об этом разработчику Dolphin.
Думаю, что единственная причина в том, что разработчик Dolphin обрабатывает открытие ссылки не используя предназначенный для этого action. Поэтому android не может поймать и обработать открытие вашей ссылки.
Тут надо понимать жизненный цикл фрагмента: developer.android.com/intl/ru/guide/components/fra... Когда вы открываете фрагмент с выбором города, ваш текущий фрагмент уходит в спячку - onPause(). Когда вы вновь возвращаетесь к фрагменту, он просыпается onResume()/ Когда вы открываете фрагмент в первый раз, то метод onResume() тоже срабатывает. А значит onResume() хорошее место, чтобы спросить какой город текущий и т.п. Так как все фрагменты в вашем случае внутри одной Activity, то можно спрашивать как раз у неё/ Что-то типа: ((myActivity) getActivity()).getCity(). Ну, и позаботиться, чтобы у вашей Activity был соответствующий метод (было бы неплохо позаботиться о наличии интерфейса и Callback-методов).
Тогда похоже всё понятно. Суть проблемы в том, что обновление данных у вас в фрагменте FirstFragment происходит только при создании фрагмента (т.е. в onCreateView()). Фрагмент же создается в адаптере только при перелистывании (в getItem()). Получается, что после выбора города вы возвращаетесь в уже открытый ранее фрагмент, повторного вызова getItem() не происходит и, соответственно, обновления данных не происходит. Вам нужно позаботиться о том, как передавать новые данные в FirstFragment без его пересоздания.
Пропиши в методе onAttach() первой строкой super.onAttach(). Посмотри как это сделано в onDissmis() и в onCancel(). B почитай обязательно про наследование в ООП.