滚动ScrollView时防止onFocusChanged触发

时间:2012-02-24 15:38:23

标签: android scrollview

我有一个问题,我在Activity中有几个TextView对象。不仅可以放在屏幕视图上,还可以将它们放在ScrollView中。

现在,在放入ScrollView之前,每个TextView项都放入RelativeLayout。 然后,每个RelativeLayout对象都分配了onClickListener和onFocusChangedListeners。 每个Listener实现一个方法,弹出一个对话框,使用户能够编辑TextView存储的值。

出现的问题是当滚动屏幕时会触发onFocusChangedListener事件,导致一次显示几个项目的对话框。

是否可以检测Scrollview是否正在滚动并阻止onFocusedChanged事件触发?

我可以根据需要发布代码但是它非常大,因为添加到页面的项目是动态完成的。这也意味着布局没有xml。

我查看了使用ScrollView onTouchListener添加一个标志ignoreFocusChange,但是看起来这不起作用,因为在屏幕上进行一次滑动/轻触,事件被点击了几次。

请帮忙

此致

伊恩

1 个答案:

答案 0 :(得分:0)

花了一些时间后,我发现对我来说最好的解决方案是删除onFocusChangedListener并将其替换为onTouchListener