2014-10-10 54 views
0

在Android中,我在同一視圖中有多個表單小部件,我希望它們互相影響。現在我有一個EditText字段,您可以輸入一個整數,我希望該值顯示在一系列ToggleButtons中(即EditText字段的二進制值顯示爲選定按鈕)。我希望兩個字段都能相互影響,所以單擊按鈕可以改變文本,改變文本可以改變按鈕。android輸入字段互相影響

現在我正在使用afterTextChanged()方法來捕獲更新的文本並更改按鈕。我正在使用onCheckedChanged()方法來捕獲更新的按鈕點擊並更改文本。

它在兩個方向都有效,但是當它們都在那裏時,它們會互相呼叫,從而導致不良行爲。有沒有辦法改變一個字段的狀態而不調用它的「變更處理程序」,或者是否有另一個處理程序可以更好地避免遞歸調用?

回答

0

使用EditText的setText()方法來設置用戶更改切換按鈕值時更改的值。

0

解決方法是使用狀態變量添加'信號量'。在事件處理程序中,我將檢查處理程序是否從另一個處理程序調用,如果是,則不重新更新原始字段。