setOnFocusChangeListener的使用

来源:互联网 发布:linux系统总共有多少种 编辑:程序博客网 时间:2024/06/04 17:42

类似于文本框里面hint文字在初始化的时候显示或者隐藏的操作,就要用到setOnFocusChangeListener的

 

首先我觉得不是太必要~
毕竟当你输入东西时,默认文字自然会消失
当然如果你执意要这样做

你可以在onCreate方法中通过findViewById找到该EditText
然后setOnFocusChangeListener监听器
在onFocusChange方法中判断是否有焦点
有焦点时setHint(null)
没有焦点时setHint(string);(string为editText1.getHint());

这样就可以当你点击文本框时默认文字消失
以下为核心代码

        final EditText editText1 = (EditText) findViewById(R.id.editText1);
        final String string = editText1.getHint().toString();
        editText1.setOnFocusChangeListener(new OnFocusChangeListener(){

            @Override
            public void onFocusChange(View arg0, boolean hasFocus) {
                if(hasFocus){
                    editText1.setHint(null);
                }else{
                    editText1.setHint(string);
                }
            }
           
        });

hasfocus 点击的时候触发!

2 0