これを解決する必要があります。Edit(X) と Edit(Y) という名前の 2 つの Edit Text があるので、Edit(X) で入力の長さを書き込んで設定できますが、 Edit(X) の同じ値を取得するため、たとえば 2 つの 6 桁のみを Edit(x) に設定して書き込みを終了し、Edit(Y) に渡して書き込みを開始する方法はありません。 Edit(X) とは独立した新しい入力。ここに私のコードの一部があります。
private class BtnListener implements OnClickListener {
public void onClick(View view) {
switch (view.getId()) {
case R.id.btnNum0Id:
case R.id.btnNum1Id:
case R.id.btnNum2Id:
case R.id.btnNum3Id:
case R.id.btnNum4Id:
case R.id.btnNum5Id:
case R.id.btnNum6Id:
case R.id.btnNum7Id:
case R.id.btnNum8Id:
case R.id.btnNum9Id:
String inDigit = ((Button) view).getText().toString();
String inDiget = ((Button) view).getText().toString();
if (inStr.equals("0")) {
inStr = inDigit;
} else {
inStr += inDigit;
}
if(inCtr.equals("0")){
inCtr = inDiget;
} else {
inCtr += inDiget;
}
editX.setText(inStr);
//editY.setText(inCtr);
editX.addTextChangedListener(new TextWatcher() {
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
button2.setOnClickListener( new OnClickListener(){
public void onClick(View arg0) {
// TODO Auto-generated method stub
//String input = editX.getText().toString();
// String toEditText1 = input.substring(0,2);
// editZ.setText(toEditText1);
//String toEditText2 = input.substring(2);
//inputContent2.setText(toEditText2);
}
});
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
public void afterTextChanged(Editable s) {
if(s.length() == 4){
button2.setOnClickListener( new OnClickListener() {
public void onClick(View v){
editY.requestFocus();
editY.setText(inStr);
}
});
}else{
}
}
});
}
}
}