Когда лучше завершить сохранение Seekbar onProgressChanged или onStopTrackingTouch? - PullRequest
0 голосов
/ 14 марта 2010

У меня есть панель поиска, и я хочу сохранить состояние в базе данных при изменении хода выполнения.

Мне интересно, в каком случае поставить мой код onProgressChanged против onStopTrackingTouch ?

Ответы [ 3 ]

3 голосов
/ 14 марта 2010

Я не согласен с mbaird и jqpubliq по одной простой причине: они предполагают, что пользователь использует сенсорный экран.

Большинство устройств Android имеют сенсорные экраны. Не все будут. Например, есть фирмы, разрабатывающие Android-приставки (например, Android-эквиваленты Roku или Boxee Box). Большинство телевизоров не являются сенсорными экранами.

Теперь, если вы хотите, чтобы ваше приложение можно было использовать только с сенсорным экраном - и вы установили соответствующие элементы <uses-configuration> в манифесте - onStopTrackingTouch() может быть надежным для обнаружения изменения прогресса.

Лично я бы обновил базу данных ни на onProgressChanged(), ни на onStopTrackingTouch(), но в тот момент, когда пользователь делает что-то положительное, чтобы указать, что он хочет сохранить содержимое текущего экрана - нажав кнопку НАЗАД, нажав кнопку Сохранить кнопка и т. д. Но я, конечно, не буду полагаться на onStopTrackingTouch(), если вы не разрабатываете приложение только для сенсорного экрана.

2 голосов
/ 14 марта 2010

Я бы использовал onProgressChanged, если вам нужно обновить какие-либо элементы пользовательского интерфейса, когда пользователь перемещает индикатор выполнения.

Я бы подождал, пока onStopTrackingTouch действительно обновит базу данных.

0 голосов
/ 14 марта 2010

Если у вас нет оснований полагать, что приложение часто падает в середине жеста, и вам нужно сохранить то, где пользователь находился в то время, я бы порекомендовал onStopTrackingTouch.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...