2012-09-17 49 views
1

只有當軟鍵盤輸入數字時,纔有可能爲numberPicker提供onChangeListener? 當數字更改爲gy +/-時,不應執行監聽器。只有當用戶從軟鍵盤輸入一個號碼時。onChangeListener on numberPicker

目標是在用戶在前一項中輸入一個數字後,下一個選擇項應該得到焦點。 所以用戶準備好輸入一個數字,如「12345」,並且每個pickeritem都有自己的價值:

Picker0=1 
Picker1=2 
Picker3=3 
Picker4=4 
Picker5=5 

IST是可能的,或者是錯誤的方式?

回答

1

就我個人而言,當我可能犯了一個錯誤時,我不喜歡自己移動的焦點 - 例如,如果我按下4而不是5並且將我帶到下一個選擇器,我會感到惱怒。您可能會考慮在用戶點擊回車鍵時改變焦點......無論如何,您需要在您的活動或對話框中設置一個onKeyUp事件,查找代表焦點變化的鍵碼(即輸入鍵或編號)

public boolean onKeyUp(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_ENTER) 
    //blah 
    return true; 
    } 
    else if (keyCode == KeyEvent.KEYCODE_1) // sadly you'll have to put in a 
    //blah        // comparison for each number here 
    return false; // Return false b/c you want the picker to receive number input 
    } 
    return false; 
} 
+0

聽起來不錯。我會試試這個並回來:-) – venni