在两个EditText上写不同的android

时间:2012-10-09 20:11:04

标签: android input android-edittext

我需要解决这个问题,我有两个编辑文本,一个名为编辑(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{
                        }
                   }
                });
       }
   }
}

1 个答案:

答案 0 :(得分:0)

我认为您需要做的是使用编辑(X).addTextChangedListener(...) 当编辑(X)上的文字具有你想要的大小时,它会调用编辑(Y).requestFocus()。

在你的xml文件中也使用android:maxLength =“6”。