-1

我需要解决这个问题,我有两个编辑文本,一个名为 Edit(X) 和 Edit(Y),因此,我可以在 Edit(X) 中编写和设置输入的长度,但是当我想在另一个我不能,因为我得到了相同的 Edit(X) 值,我如何设置 Edit(x) 例如只有两个 6 位数字并完成写入然后传递给 Edit(Y) 并开始写入,a独立于 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{
                        }
                   }
                });
       }
   }
}
4

1 回答 1

0

我认为您需要做的是使用 Edit(X).addTextChangedListener(...) 并在 Edit(X) 上的文本具有所需大小时在其中调用 Edit(Y).requestFocus() 。

还要在您的 xml 文件上使用 android:maxLength="6" 。

于 2012-10-09T20:17:39.553 回答