一、Activity
public class ActivityMain extends Activity{
private EditText edt_hour;
private EditText edt_minute;
private EditText edt_second;
TextWatcher tw = new TextWatcher(){
//@Override
public void beforeTextChanged(CharSequence s, int start, int count,int after){
}
//@Override
public void onTextChanged(CharSequence s, int start, int before, int count){
}
//@Override
public void afterTextChanged(Editable s){
if(s.toString().length() == 2){
if(edt_hour.isFocused()){
edt_hour.clearFocus();
edt_minute.requestFocus();
}
else if(edt_minute.isFocused()){
edt_minute.clearFocus();
edt_second.requestFocus();
}
else if(edt_second.isFocused()){
edt_second.clearFocus();
}
}
}
};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
edt_hour = (EditText) findViewById(R.id.hour);
edt_hour.addTextChangedListener(tw);
edt_minute = (EditText) findViewById(R.id.minute);
edt_minute.addTextChangedListener(tw);
edt_second = (EditText) findViewById(R.id.second);
edt_second.addTextChangedListener(tw);
}
}
二、xml布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<EditText
android:id="@+id/hour"
android:text="00"
android:maxLength="2"
android:inputType="number"
android:selectAllOnFocus="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<EditText
android:id="@+id/minute"
android:text="00"
android:maxLength="2"
android:inputType="number"
android:selectAllOnFocus="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<EditText android:maxLength="2"
android:inputType="number"
android:text="00"
android:id="@+id/second"
android:selectAllOnFocus="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>