Мой вопрос очень похож на этот пост: Текст редактирования переходит к следующему тексту редактирования после достижения максимальной длины текста редактирования
Но, что бы я ни пытался сделать, я не могу перейти к третьему тексту редактирования, как показано на рисунке ниже. Я записываю 10 в первый текст редактирования, и он автоматически перемещается во второй текст редактирования, но когда я пишу 12, он не перемещается в третий текст редактирования. Я попробовал пару вещей, но не смог справиться с этим. Мне нужно простое решение этой проблемы до 10-15 edittexts. Кто-нибудь может мне помочь с синтаксисом? Благодарю.
Вот моя основная деятельность xml
<EditText
android:id="@+id/edittext1"
android:layout_width="30dp"
android:layout_height="wrap_content"
android:textSize="20dp"
android:maxLength="2"
android:hint="1"
android:layout_weight="1"/>
<EditText
android:id="@+id/edittext2"
android:layout_width="30dp"
android:layout_height="wrap_content"
android:textSize="20dp"
android:maxLength="2"
android:digits="0123456789 "
android:hint="2"
android:layout_weight="1"/>
<EditText
android:id="@+id/edittext3"
android:layout_width="30dp"
android:layout_height="wrap_content"
android:textSize="20dp"
android:maxLength="2"
android:digits="0123456789 "
android:hint="3"
android:layout_weight="1"/>
А вот и моя основная деятельность
package com.example.serkan.justtry;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity implements TextWatcher {
EditText edt1;
EditText edt2;
EditText edt3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
edt1=(EditText)findViewById(R.id.edittext1);
edt2=(EditText)findViewById(R.id.edittext2);
edt3=(EditText)findViewById(R.id.edittext3);
edt1.addTextChangedListener(this);
}
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
if (edt1.length() == 2) {
edt2.requestFocus();
}
}
}