Фрагмент пользовательского представления addToBackStack (), настраиваемого представления и кнопки возврата

Проблема: у меня есть настраиваемое представление календаря, которое я создал с помощью рисунка на холсте и прочего. Это макет для фрагмента A. У меня есть еще один фрагмент B, который, когда пользователь что-то делает в фрагменте A, создается и заменяет фрагмент A через getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container), fragmentB).addToBackStack().commit();, отлично работает до этого момента (показан фрагмент B). Теперь, когда я нажимаю кнопку возврата, я ожидаю, что фрагмент B выйдет или будет удален с экрана, чтобы его заменил предыдущий фрагмент A. все еще работает правильно - однако теперь отображаемое представление календаря все испорчено и, черт возьми, все рисунки сложены в левой части экрана и совсем не похожи на календарь. Почему это происходит и как мне это сделать?


person josephus    schedule 08.11.2011    source источник
comment
когда я поворачиваю экран (действие воссоздается), пользовательский вид возвращается в свое красивое состояние.   -  person josephus    schedule 08.11.2011


Ответы (1)


Я нашел виновника - измерение ширины ячейки внутри моего настраиваемого холста по какой-то конкретной причине установлено на ноль - внутри onMeasure. Я переместил оператор присваивания внутрь onDraw, и он отлично сработал.

person josephus    schedule 08.11.2011