2017-02-22 70 views

回答

0

这听起来像所有你需要的是一个DatePicker,以便设置为spinner

<DatePicker 
    ... 
    android:datePickerMode="spinner" 
    android:calendarViewShown="false" /> 
+0

日期选择器是一个aditional的功能。 –

+0

这是否意味着注释什么?它与“它不知道我想要的功能名称”有关吗? –

0

您可以使用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); 
} 
+0

这是一个简单的解决方案,如果他有3个不同的领域,但他写的,它是由于某种原因,一个编辑文本。你可以缩短甚至更多 - 给所有字段相同的文字观察者,做((EditText上)getTag())requestFocus()方法。并将下一个字段设置为每个标记 –

相关问题