android 怎么在代码中判断edittext有没有获取焦点?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 怎么在代码中判断edittext有没有获取焦点?相关的知识,希望对你有一定的参考价值。

edittext 获取焦点时候 提示“获取焦点”
edittext 失去焦点时候提示“失去焦点”

EditText.setOnFocusChangeListener(new View.OnFocusChangeListener()   
      
    @Override  
    public void onFocusChange(View v, boolean hasFocus)   
        if(hasFocus)//获得焦点  
              
        else//失去焦点  
            
          
                 
);
参考技术A 直接添加listener就行了;
editText.setOnFocusChangeListener(new OnFocusChangeListener() 
    @Override
    public void onFocusChange(View v, boolean hasFocus) 
        if (hasFocus) 
            Log.i("test", "获得焦点");
         else 
            Log.i("test", "失去焦点")
        
    
);

怎么让 android EditText hint 不换行

下面是android学习手册关于 edittext的介绍,360手机助手中可下载,例子、文档、代码随便看。


第一种,就是监听EditText的setOnEditorActionListener方法,然后把enter键禁止,这种方法有个不好的地方就是,在虚拟键盘中依然会显示enter键:

/** 

 * 设置相关监听器 

 */  

private void setListener()  

    userNameEdit.setOnEditorActionListener(new OnEditorActionListener()   

        @Override  

        public boolean onEditorAction(TextView v, int actionId, KeyEvent event)   

            return (event.getKeyCode()==KeyEvent.KEYCODE_ENTER);  

          

    );  

 

第二种方法是直接在EditText的xml文件中通过配置android:singleLine="true"把虚拟键盘上的enter键禁止掉,不会显示。

<EditText  

    android:layout_width="fill_parent"  

    android:layout_height="38dp"  

    android:id="@+id/loginUserNameEdit"  

    android:background="@android:color/white"  

    android:hint="登录账户"  

    android:paddingLeft="10dp"  

    android:maxLines="1"  

    android:singleLine="true"  

    />  

感觉第二种方法更好一些

参考技术A 设置android:lines="1" 即可

以上是关于android 怎么在代码中判断edittext有没有获取焦点?的主要内容,如果未能解决你的问题,请参考以下文章

android的edittext怎么自动保存上次输入的值?下次启动的时候直接默认上次输入的值。

怎么让 android EditText hint 不换行

Android EditText判断输入字符串的工具类集合

Android EditText中输入价格判断

Android怎么关闭EditText中的软键盘

android EditText输入文字 数字时 里面的图片文字怎么消失 用的是哪个属性?