При изменении ориентации устройства я теряю ввод текста, как я могу это исправить - PullRequest
0 голосов
/ 17 декабря 2010

У меня есть приложение таймера обратного отсчета, и когда я меняю ориентацию с вертикальной на горизонтальную на моем телефоне, текст обратного отсчета больше не отображается, и когда я переключаю его обратно, он не возвращается, если только я не нажму кнопку «Пуск снова»,который не должен быть там в первую очередь, потому что кнопка изменится на паузу, когда она запускается, но когда я переворачиваю ее, индикатор обратного отсчета гаснет и кнопка говорит старт, даже если обратный отсчет работает, и отображает onFinish ().

Ответы [ 3 ]

1 голос
/ 17 декабря 2010

Ваше действие будет перезапущено, вы захотите переопределить onRetainNonConfigurationInstance, который специально вызывается в этом сценарии, прежде чем действие будет уничтожено. На сайте Android есть статья , в которой подробно об этом говорится.

0 голосов
/ 17 декабря 2010

Неважно, я нашел это.Я установил свою ориентацию в моем макете:

 <LinearLayout
 android:orientation="vertical">

Все, что мне нужно было сделать, это добавить это в мой AndroidManifest, с которым я работал.

    <activity android:name="TimerActivity" android:configChanges="keyboardHidden|orientation"/>

И воала!

0 голосов
/ 17 декабря 2010

это потому, что Dalvik vm уничтожает действие и создает новое, когда ваше устройство вращается, поэтому вам нужно найти какой-то способ сохранить состояние действия и его потомков, возможно, переопределив один из методов onFinish (), onStop () или onDestroy ()

...