首页 > 解决方案 > 想要使用一个按钮作为 2 个单独的编辑文本的后退空间?

问题描述

我想使用一个按钮作为 2 个单独的编辑文本的退格键我的意思是当专注于(编辑文本)时,我可以使用它上面的按钮.....

我不能使用 if 语句(我是 android 开发的新手)

这是我的代码

        bak.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
             if (et1.hasFocus()) {
              }
            String str = et1.getText().toString();
            if (str.length() > 1) {
                str = str.substring(0, str.length() - 1);
                et1.setText(str);
            } else if (str.length() <= 1) {
                et1.setText("");
            }
        }

    });
    bak.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (et2.hasFocus()){
             }
            String str2 = et2.getText().toString();
            if (str2.length() > 1) {
                str2 = str2.substring(0, str2.length() - 1);
                et2.setText(str2);
            } else if (str2.length() <= 1) {
                et2.setText("");
            }
        }
    });

但我另一个按钮的另一个代码工作正常(为什么?)

   BT9.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (et2.hasFocus()) {
                et2.append("9");
            }
            if (et1.hasFocus()) {
                et1.append("9");
            }
            if (ans.hasFocus()) {
                ans.append("9");
            }

        }
    });

标签: javaandroidbuttonandroid-edittext

解决方案


您应该编写如下代码:

bak.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
           if (et1.hasFocus()) {
           }

            String str = et1.getText().toString();
            if (str.length() > 1) {
                str = str.substring(0, str.length() - 1);
                et1.setText(str);
            } else if (str.length() <= 1) {
                et1.setText("");
            }

            ////////////////////////////////////////////////////////////

            if (et2.hasFocus()){
            }

            String str2 = et2.getText().toString();
            if (str2.length() > 1) {
                str2 = str2.substring(0, str2.length() - 1);
                 et2.setText(str2);
            } else if (str2.length() <= 1) {
                 et2.setText("");
            }    
        }    
    });

推荐阅读