2012-07-24 69 views
-1

我有一个视图,其中包括从xml布局膨胀的视图的几个实例。nextFocusDown与虚拟布局

在xml布局中,我根据分配给该布局中元素的ID定义android:nextFocusDown属性。

现在的问题是,当我点击NEXT通过布局的第一个实例时,一切正常,但是当我触摸下一个布局实例的第一个元素并单击NEXT时,它会返回页面顶部(基本上是在第一个实例相应的领域)

我的理论是,因为他们有相同的ID(我用android:id="@+id/..."在布局XML中定义一个ID),它只是跳到第一个。

有没有另外一种方法来定义这个,或者可能是我缺少的东西?布局非常复杂,所以我宁愿能够使用xml,而不是在代码中创建所有元素。

感谢, - 肯

回答

0

你需要动态的ID,只能在代码来完成。你不能去xml路线。另外,你是如何处理点击事件的,你有没有EditTexts?如果你重复使用ID,你希望如何钩住正确的Button/EditText?

我认为这种做法可能会为你工作:Transferring touch focus to another view

你必须处理焦点更改自己的代码。

+0

虽然我可以得到正确的意见,因为我膨胀的布局,那么你可以得到根视图,并调用'view.findViewById(R.id.whatever)',并从那里添加点击处理程序 – 2012-07-24 16:35:33

+0

我明白了。看到我更新的答案。 – 2012-07-24 17:15:09

+0

好吧,即时通讯不知道如果生病可以使用,我认为即时将不得不放弃的XML,勉强这将使一些相当凌乱的代码,感谢您的帮助! – 2012-07-24 19:55:21