我需要解决这个问题,我有两个编辑文本,一个名为编辑(X)和编辑(Y),因此,我可以在编辑(X)中编写和设置输入的长度,但是当我想要做的时候在另一个中我也不能,因为我得到相同的Edit(X)值,我怎么能设置Edit(x)例如只有两个6位数字并完成写入然后传递给Edit(Y)并开始写作,独立于编辑(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{
}
}
});
}
}
}
答案 0 :(得分:0)
我认为您需要做的是使用编辑(X).addTextChangedListener(...) 当编辑(X)上的文字具有你想要的大小时,它会调用编辑(Y).requestFocus()。
在你的xml文件中也使用android:maxLength =“6”。