为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我想点击一个数字出来两个实现不了啊 是不能这么写么?

public void onClick(View arg0) {
        String str = et_in.getText().toString();
        String sss = String.valueOf(et_in.length());
        switch (arg0.getId()) {
        case R.id.bt_0:
        case R.id.bt_1:
        case R.id.bt_2:
        case R.id.bt_3:
        case R.id.bt_4:
        case R.id.bt_5:
        case R.id.bt_6:
        case R.id.bt_7:
        case R.id.bt_8:
        case R.id.bt_9:
        case R.id.bt_dian:
                // et_in.setText("");
                et_in.setText(str + ((Button) arg0).getText());
                et_in.setText(str + ((Button) arg0).getText());
            break;
        case R.id.bt_jia:
        case R.id.bt_jian:
        case R.id.bt_cheng:
        case R.id.bt_chu:
            et_in.setText(str + " " + ((Button) arg0).getText() + " ");
            break;
        case R.id.bt_del:
            if (str != null && !str.equals("")) {
                et_in.setText(str.substring(0, str.length() - 1));
            }
            break;
        case R.id.bt_clear:
            et_in.setText("");
            break;
        case R.id.bt_deng:
            getResult();
            clear_flag = true;
            break;
        }
    }


正在回答

2 回答

public void onClick(View arg0) {
        String str = et_in.getText().toString();
        String sss = String.valueOf(et_in.length());
        switch (arg0.getId()) {
        case R.id.bt_0:
        case R.id.bt_1:
        case R.id.bt_2:
        case R.id.bt_3:
        case R.id.bt_4:
        case R.id.bt_5:
        case R.id.bt_6:
        case R.id.bt_7:
        case R.id.bt_8:
        case R.id.bt_9:
        case R.id.bt_dian:
                // et_in.setText("");
                str = str + ((Button) arg0).getText();
                et_in.setText(str + ((Button) arg0).getText());
            break;
        case R.id.bt_jia:
        case R.id.bt_jian:
        case R.id.bt_cheng:
        case R.id.bt_chu:
            et_in.setText(str + " " + ((Button) arg0).getText() + " ");
            break;
        case R.id.bt_del:
            if (str != null && !str.equals("")) {
                et_in.setText(str.substring(0, str.length() - 1));
            }
            break;
        case R.id.bt_clear:
            et_in.setText("");
            break;
        case R.id.bt_deng:
            getResult();
            clear_flag = true;
            break;
        }
    }


1 回复 有任何疑惑可以回复我~
#1

del孜然 提问者

额 两条settext这样写不行的 是吗
2016-08-10 回复 有任何疑惑可以回复我~
#2

mottc 回复 del孜然 提问者

第一次setText把内容放进去了,第二次setText又放进去了同样的内容,把第一次的覆盖掉了。
2016-08-10 回复 有任何疑惑可以回复我~
#3

del孜然 提问者 回复 mottc

哦哦哦 脑子都不转了。。。 那我在前面加上 et_in.setText(""); 这段 不是应该是 每次点击先清空在输出的么 为什么清空不了啊?
2016-08-10 回复 有任何疑惑可以回复我~
#4

mottc 回复 del孜然 提问者

额,是因为我写的那行代码对str进行了改变。
2016-08-10 回复 有任何疑惑可以回复我~
#5

del孜然 提问者 回复 del孜然 提问者

哦哦哦 试了几下 好像搞懂了= = 谢谢
2016-08-10 回复 有任何疑惑可以回复我~
#6

del孜然 提问者 回复 mottc

哦哦哦 试了几下 好像搞懂了= = 谢谢
2016-08-10 回复 有任何疑惑可以回复我~
查看3条回复
public void onClick(View arg0) {
        String str = et_in.getText().toString();
        String sss = String.valueOf(et_in.length());
        switch (arg0.getId()) {
        case R.id.bt_0:
        case R.id.bt_1:
        case R.id.bt_2:
        case R.id.bt_3:
        case R.id.bt_4:
        case R.id.bt_5:
        case R.id.bt_6:
        case R.id.bt_7:
        case R.id.bt_8:
        case R.id.bt_9:
        case R.id.bt_dian:
                // et_in.setText("");
                /*这里写了两行啊*/
                //et_in.setText(str + ((Button) arg0).getText());
                et_in.setText(str + ((Button) arg0).getText());
            break;
        case R.id.bt_jia:
        case R.id.bt_jian:
        case R.id.bt_cheng:
        case R.id.bt_chu:
            et_in.setText(str + " " + ((Button) arg0).getText() + " ");
            break;
        case R.id.bt_del:
            if (str != null && !str.equals("")) {
                et_in.setText(str.substring(0, str.length() - 1));
            }
            break;
        case R.id.bt_clear:
            et_in.setText("");
            break;
        case R.id.bt_deng:
            getResult();
            clear_flag = true;
            break;
        }
    }


0 回复 有任何疑惑可以回复我~
#1

del孜然 提问者

对啊 我就是想点击一下 出来两个 这么写不行么?
2016-08-10 回复 有任何疑惑可以回复我~
#2

mottc 回复 del孜然 提问者

第一个看错了你的意思,下面又给了一个答案。。。
2016-08-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第一门课(入门篇)
  • 参与学习       312585    人
  • 解答问题       4633    个

想快速掌握Android应用开发基础,选择学习这门课程就对了。

进入课程

为什么我想点击一个数字出来两个实现不了啊 是不能这么写么?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信