首页 > 代码库 > setOnFocusChangeListener的使用

setOnFocusChangeListener的使用

类似于文本框里面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 点击的时候触发!

setOnFocusChangeListener的使用