Активность в хосте вкладок пропадает - PullRequest
5 голосов
/ 30 октября 2011

У меня есть хост с тремя вкладками. На первой вкладке я выполняю некоторые растровые операции на холсте (немного тяжелые).Всякий раз, когда я перехожу на вторую или третью вкладку, действие на вкладке становится пустым. У меня есть текст редактирования на вкладке 1, поэтому, когда когда-либо появляется программная клавиатура, остальные вкладки работают нормально. Я думаю, что это потому, чтоПри всплывающей программной клавиатуре окно изменяется в размерах. Я думаю, что если мне удастся изменить размер или обновить вкладку 1, я смогу правильно видеть содержимое в остальных вкладках. Есть ли способ, которым я могу изменить размертекущее окно или обновите окно. Я попытался установить ширину и высоту, используя LayoutParams, но он фактически не изменяет размеры. Кроме того, вкладки начинают работать правильно, когда я меняю ориентацию, вероятно, потому что весь хост вкладок воссоздается.Есть ли кто-нибудь, кто сталкивался с подобной проблемой?

Любая помощь будет оценена.

Ответы [ 2 ]

3 голосов
/ 07 ноября 2011

Вы можете автоматически обновить содержимое вкладки при выборе вкладки с помощью опции FLAG_ACTIVITY_CLEAR_TOP.Поэтому, когда вы создаете вкладки, просто добавьте их в спецификацию вкладок.

tabHost.addTab(tabHost.newTabSpec("tab1")
                      .setIndicator("myTabName")
                      .setContent(new Intent(this, MyTabContent.class)
                      .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)));
0 голосов
/ 08 ноября 2011

Если вы используете холст внутри действия внутри вкладки, убедитесь, что ваши размеры всегда верны при воссоздании вида. Сначала запишите значения в журнал и посмотрите, где и когда ширина и высота приобретают новые значения.Наиболее распространенные ошибки: onDraw и onMeasure

...