美文网首页
关于edittext的焦点问题(监听事件/默认没有焦点/获得焦点

关于edittext的焦点问题(监听事件/默认没有焦点/获得焦点

作者: 努力深耕Android的小透明 | 来源:发表于2017-12-28 10:31 被阅读54次

    1.当edittext的焦点事件改变时,可以通过焦点监听事件来监听焦点改变事件

     mEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
                @Override
                public void onFocusChange(View v, boolean hasFocus) {
                    //如果有多个edittext可以用v.getId()来区分
                    if (hasFocus) {
                        //获得焦点的操作
                    } else {
                        //未获得焦点的操作
                    }
                }
            });
    

    2.如何设置edittext默认无焦点,或点击空白处失去焦点
       这个问题的解决思路是:在edittext的父布局中加入两行代码夺取焦点:
       android:focusable="true"
       android:focusableInTouchMode="true"

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="may.com.gittest.MainActivity"
        android:focusable="true"
        android:focusableInTouchMode="true"
        >
    
        <EditText
            android:layout_width="match_parent"
            android:id="@+id/et"
            android:layout_height="wrap_content"/>
    </RelativeLayout>
    
    1. edittext获得/失去焦点

    mInputView.requestFocus(); //获得焦点
    mInputView.setFocusable(false); //失去焦点

    参考文章:
    Edittext默认无焦点

    相关文章

      网友评论

          本文标题:关于edittext的焦点问题(监听事件/默认没有焦点/获得焦点

          本文链接:https://www.haomeiwen.com/subject/taxjgxtx.html