我需要我的EditText像下面的圖片,其中用戶可以輸入數字和完成後的位數限制光標移動到下一個。 EDITTEXT定製:移動光標到下一個和多個零件輸入
更新:用戶可以從設定的DatePicker日期,月份&年從鍵盤&也單擊並設置日期。
我需要我的EditText像下面的圖片,其中用戶可以輸入數字和完成後的位數限制光標移動到下一個。 EDITTEXT定製:移動光標到下一個和多個零件輸入
更新:用戶可以從設定的DatePicker日期,月份&年從鍵盤&也單擊並設置日期。
這聽起來像所有你需要的是一個DatePicker,以便設置爲spinner
<DatePicker
...
android:datePickerMode="spinner"
android:calendarViewShown="false" />
您可以使用TextWatcher類模式工作再上一個的EditText內的文本變化通知。
EditText mDayEditText;
EditText mMonthEditText;
EditText mYearEditText;
TextWatcher dayTextWatcher = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// Do nothing...
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.length() == 2) {
mMonthEditText.requestFocus();
}
}
@Override
public void afterTextChanged(Editable s) {
// Do nothing...
}
};
TextWatcher monthTextWatcher = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// Do nothing...
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.length() == 2) {
mYearEditText.requestFocus();
}
}
@Override
public void afterTextChanged(Editable s) {
// Do nothing...
}
};
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View v = inflater.inflate(R.layout.your_fragment, container, false);
mDayEditText = (EditText) v.findViewById(R.id.text_view_1);
mMonthEditText = (EditText) v.findViewById(R.id.text_view_2);
mYearEditText = (EditText) v.findViewById(R.id.text_view_3);
mDayEditText.addTextChangedListener(dayTextWatcher);
mMonthEditText.addTextChangedListener(monthTextWatcher);
}
這是一個簡單的解決方案,如果他有3個不同的領域,但他寫的,它是由於某種原因,一個編輯文本。你可以縮短甚至更多 - 給所有字段相同的文字觀察者,做((EditText上)getTag())requestFocus()方法。並將下一個字段設置爲每個標記 –
日期選擇器是一個aditional的功能。 –
這是否意味着註釋什麼?它與「它不知道我想要的功能名稱」有關嗎? –