我需要我的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的功能。 –
这是否意味着注释什么?它与“它不知道我想要的功能名称”有关吗? –