我有一个Seekbar,我希望在更改进度时将状态保存到数据库。
我想知道将我的代码onProgressChanged与onStopTrackingTouch放在哪个事件中?
答案 0 :(得分:3)
我不同意mbaird和jqpubliq,原因很简单:他们认为用户正在使用触摸屏。
大多数Android设备都有触摸屏。不是所有人都会。例如,有些公司正在开发Android机顶盒(比如Roku或Boxee Box的Android等价物)。大多数电视都不是触摸屏。
现在,如果您希望您的应用程序仅可用于触摸屏 - 并且您已在清单中设置了相应的<uses-configuration>
元素 - onStopTrackingTouch()
可能可靠地检测进度更改。
就个人而言,我不会在onProgressChanged()
和onStopTrackingTouch()
上更新数据库,但是当用户做了积极的事情以表明他们想要保留当前屏幕的内容时 - 按下BACK按钮,单击“保存”按钮等。但除非您正在开发仅限触摸屏的应用程序,否则我当然不会依赖onStopTrackingTouch()
。
答案 1 :(得分:2)
如果您需要在用户滑动进度条时更新UI的任何元素,我会使用onProgressChanged
。
我会等onStopTrackingTouch
实际更新数据库。
答案 2 :(得分:0)
除非您有理由相信应用程序通常会在手势中间崩溃并且您需要保存用户当时的位置,否则我建议onStopTrackingTouch
。