#android
#Android
Вопрос:
У меня проблема с изменениями ориентации и сохраненным фрагментом.
В сохраненном фрагменте в onActivityCreated()
я использую getTargetFragment().getView().find...
Иногда метод возвращает значение null. Я не знаю почему. Я использую библиотеку совместимости v.4.
Ответ №1:
Я знаю, что уже поздно, но я наткнулся на это, и, оказывается, есть обходной путь. По моему опыту, при работе с фрагментами и переключении между ними методы onCreate срабатывают слишком быстро, поэтому иногда макет инициализируется не полностью. Работа, которую я использовал, запускает задачу таймера, чтобы выполнить вызов немного позже вызова onCreate . Задержка, кажется, всегда дает ему достаточно времени. У меня есть свой собственный одноэлементный таймер, и вам нужно будет создать свой собственный таймер для планирования задач, но вы поняли идею. Надеюсь, это поможет.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final QueueFragmentTab thisFrag = this;
TimerHelper.getInstance().scheduleTask(new TimerTask() {
@Override
public void run() {
//getview goes here
Log.w(tag, "" thisFrag.getView());
}
}, 100);
return inflater.inflate(R.layout.fragment_queue, container, false);
}
Комментарии:
1. Я даже позже, но я думаю, что ваша проблема в том, что вы пытаетесь получить представление перед раздуванием макета.