2012-02-24 89 views
1

我有一个问题,在我的Activity中有几个TextView对象。不止可以放在屏幕视图上,所以我已经将它们放置在ScrollView中。当ScrollView滚动时防止onFocusChanged触发

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

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

是否有可能检测滚动视图是否滚动并防止onFocusedChanged事件触发?

如果需要的话,但其相当大的项目添加到页面的所以动态完成,我可以张贴代码。这也意味着没有用于布局的xml。

我看着使用ScrollView的onTouchListener添加一个标志ignoreFocusChange,但它似乎不会工作,因为该事件被击中几次在屏幕上的一个滑动/拖动。

请帮

问候,

伊恩

回答

0

花一些时间在这之后,我发现,对我来说最好的解决办法是用onTouchListener

+0

我删除onFocusChangedListener并更换米面临同样的问题。不幸的是,我无法删除onFocusChangedListener或将其替换。我需要找到一种真正防止onFoncusChanged射击的方法。它不会发生在4.x的版本,只能在2.3.6。 – JPMagalhaes 2013-06-14 06:03:20