Java EditText获取值以传递Textview

Java EditText获取值以传递Textview,java,android,android-edittext,textview,Java,Android,Android Edittext,Textview,我正在进行一项活动,其中我使用了edittext和textview。我必须从edittext获取整数值,并在textview上设置它 我必须在edittext上使用10位数字(手机号码),一旦edittext列获得10位数字,它就会在同一活动的textview上自动设置10位数字 我是以这种方式实施的 使用获取edittext的值 Integer.parseInt(edittext.getText().toString()); 在字符串str中 将条件应用于它(str.length==10)并

我正在进行一项活动,其中我使用了edittext和textview。我必须从edittext获取整数值,并在textview上设置它

我必须在edittext上使用10位数字(手机号码),一旦edittext列获得10位数字,它就会在同一活动的textview上自动设置10位数字

我是以这种方式实施的

  • 使用获取edittext的值

    Integer.parseInt(edittext.getText().toString());
    
    在字符串str中

  • 将条件应用于它
    (str.length==10)
    并在textview上获取它

  • 由于上述过程不起作用,所以请尝试帮助我的朋友

    我正在编写此代码:

    public class MobileNo extends Activity {
    
            EditText et;
            TextView tv;
            int i;
    
            @Override
            protected void onCreate(Bundle savedInstanceState) {
                // TODO Auto-generated method stub
                super.onCreate(savedInstanceState);
    
                et = (EditText) findViewById(R.id.edit);
                tv = (TextView) findViewById(R.id.text1);
    
                et.getText().toString();
    
                et.addTextChangedListener(new TextWatcher() {
    
                    @Override
                    public void onTextChanged(CharSequence s, int start, int before,
                            int count) {
                        // TODO Auto-generated method stub
    
                    }
    
                    @Override
                    public void beforeTextChanged(CharSequence s, int start, int count,
                            int after) {
                        // TODO Auto-generated method stub
    
                    }
    
                    @Override
                    public void afterTextChanged(Editable textVal) {
                        // TODO Auto-generated method stub
                        Editable inputNo = textVal;
                        if (inputNo.length() == 10) {
                            tv.setText(inputNo);
                        }
    
                    }
                });
    
            }
        }
    
    我会尝试:

                @Override
                public void afterTextChanged(Editable textVal) {
                    String inputNo = textVal.toString();
                    if (inputNo.length() == 10) {
                        tv.setText(inputNo);
                    }
    
                }
    
    如果您的电话号码格式为“(800)549-2992”或“800-549-2992”,并且您只需要这些号码,则必须执行以下操作:

                @Override
                public void afterTextChanged(Editable textVal) {
                    // takes out all non-digits from string
                    String inputNo = textVal.toString().replaceAll("[^\\d]","");
                    if (inputNo.length() == 10) {
                        tv.setText(inputNo);
                    }
    
                } 
    

    为什么不工作?你面临的问题是什么?我必须在不点击任何东西的情况下将10位数的手机号码从edittext输入textview。一旦edittext获得10位数,它就会自动在textview上设置这10位数。您可能需要尝试将代码放入
    onTextChanged