滚动ScrollView时防止onFocusChanged触发



我的"活动"中有多个TextView对象,出现问题。超过了屏幕视图所能容纳的,所以我把它们放在了ScrollView中。

现在,每个TextView项目在放置到ScrollView之前都被放置到RelativeLayout中。然后,每个RelativeLayout对象都分配了onClickListener和onFocusChangedListener。每个Listener实现一个方法,该方法弹出一个对话框,使用户可以编辑TextView存储的值。

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

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

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

我考虑过使用ScrollView onTouchListener添加一个标志ignoreFocusChange,但这似乎不起作用,因为在屏幕上一次滑动/投掷会多次击中事件。

请帮助

问候,

Iain

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