2012-07-24 73 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