当我将请求集中在edittext上时,edittext正在调用keyListener?

时间:2014-03-14 07:53:29

标签: android android-edittext

我正在创建2个edittexts。当用户按下任何数字时,它会聚焦到下一个Edittext然后用户输入任何数字我将图像更改为edittext,它在三星中作为例外工作,但它在nexus和htc中不起作用,问题出在哪里?当我专注于请求时,调用edittext2 onkeylistener正在工作。这是代码问题吗?

    edit_text_1.addTextChangedListener(new TextWatcher() {

            @Override
            public void onTextChanged(CharSequence s, int start, int before,
                    int count) {
                // TODO Auto-generated method stub
                System.out.println("count:" + count);
                System.out.println("s: " + s.length());

                if (count == 0) {
                    System.out.println("before1");
                    edit_text_1
                            .setBackgroundResource(R.drawable.single_dashuse);

                } else {
                    System.out.println("before2");
                    System.out.println("ed1 value : " + edit_text_1.getText());
                    edit_text_1
                            .setBackgroundResource(R.drawable.singledashcircle);
                    String et1value = edit_text_1.getText().toString();

                    System.out.println("et1 value: " + et1value);

                }
            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
                // TODO Auto-generated method stub

                System.out.println("before");

            }

            @Override
            public void afterTextChanged(Editable s) {
                // TODO Auto-generated method stub

                System.out.println("s in aftertext: " + s.length());
                System.out.println("afterTextChanged in 1");

                if (s.length() != 0) {

                    System.out.println("before3");
                    edit_text_1
                            .setBackgroundResource(R.drawable.singledashcircle);
                    edit_text_2.requestFocus();
                }

            }
        });
        // edit_text_2.setOnClickListener(this);

        edit_text_2.addTextChangedListener(new TextWatcher() {

            @Override
            public void onTextChanged(CharSequence s, int start, int before,
                    int count) {
                // TODO Auto-generated method stub
                if (count == 0) {
                    System.out.println("count in side");
                    edit_text_2
                            .setBackgroundResource(R.drawable.single_dashuse);
                    edit_text_1.requestFocus();
                } else {
                    System.out.println("count out side");
                    edit_text_2
                            .setBackgroundResource(R.drawable.singledashcircle);
                }

            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
                // TODO Auto-generated method stub

            }

            @Override
            public void afterTextChanged(Editable s) {
                // TODO Auto-generated method stub
                if (s.length() != 0) {
                    System.out.println("s in aftertext: " + s.length());
                    System.out.println("afterTextChanged in 12");
                    edit_text_2
                            .setBackgroundResource(R.drawable.singledashcircle);
                    edit_text_3.requestFocus();
                }
            }
        });

        edit_text_2.setOnKeyListener(new OnKeyListener() {

            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                // TODO Auto-generated method stub
                System.out.println("on back pressed");
                switch (keyCode) {

                case KeyEvent.KEYCODE_DEL:
                    if (!isRemovable) {
                        isRemovable = true;
                        // user pressed the "BACK" key. Append "_back" to the
                        // text
                        System.out.println("back presed editext2");
                        edit_text_1
                                .setBackgroundResource(R.drawable.single_dashuse);

                        String v1 = "";
                        edit_text_1.setText(v1);

                        edit_text_1.requestFocus();
                    } else {
                        System.out.println("back presed editext2 else");
                        isRemovable = false;

                    }

                    return true;

                }



                return true;
            }
        });

0 个答案:

没有答案