多个EditText,如何判断光标在哪个EditText上,或者哪个EditText处于激活状态

多个EditText,如何判断光标在哪个EditText上,或者哪个EditText处于激活状态

我想做个类似下图的计算器,想实现判断光标在哪个EditText上,进而实现屏蔽键盘上数字的操作。


http://img1.sycdn.imooc.com/climg/59e079260001628310801920.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
irista23 2017-10-13 18:18:11
   @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fragmenttest);
        EditText et01 = (EditText) findViewById(R.id.et1);
        EditText et02 = (EditText) findViewById(R.id.et2);
        EditText et03 = (EditText) findViewById(R.id.et3);
        et01.setOnFocusChangeListener(listener);
        et02.setOnFocusChangeListener(listener);
        et03.setOnFocusChangeListener(listener);
    }
    OnFocusChangeListener listener = new OnFocusChangeListener() {
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            switch (v.getId()) {
                case R.id.et1:
                    System.out.println("==========================R.id.et1");
                    break;
                case R.id.et2:
                    System.out.println("==========================R.id.et2");
                    break;
                case R.id.et3:
                    System.out.println("==========================R.id.et3");
                    break;
                default:
                    break;
            }
        }
    };


  • 提问者 Bearxsh #1
    非常感谢老师,其实慕课网最值钱的就是服务
    2017-10-13 23:18:03
提问者 Bearxsh 2017-10-13 17:49:02
irista23 2017-10-13 16:52:01

可以使用EditText的setOnFocusChangeListener()焦点事件,在回调onFocusChange(View,boolean)方法中根据参数boolean可以判断当前EditText是否获取到焦点。

  • 提问者 Bearxsh #1
    为什么我按图片中的方法做,没反应啊,他的代码正确吗,给
    2017-10-13 17:48:44
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师