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

来源:4-1 课程总结

Bearxsh

2017-10-13 16:31:36

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


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

写回答

3回答

irista23

2017-10-13

   @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;
            }
        }
    };


0
hearxsh
h 非常感谢老师,其实慕课网最值钱的就是服务
h017-10-13
共1条回复

Bearxsh

提问者

2017-10-13

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

0

irista23

2017-10-13

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

0
hearxsh
h 为什么我按图片中的方法做,没反应啊,他的代码正确吗,给
h017-10-13
共1条回复

0 学习 · 7235 问题

查看课程