Android에서 onFocusChangeListener에서 작동하지 않는 소프트 키보드 숨기기

skbrhmn

사용자가 화면에서 EditText 이외의 것을 터치하면 소프트 키보드가 사라지기를 원합니다. 나는 전에이 질문에 대한 SO 게시물을 검토하고 onFocusChangeListener의 사용을 구현했으며 내가 작업 한 다른 프로젝트에서 트릭을 수행했지만 지금은 작동하지 않는 것 같고 무엇이 잘못되었는지 알아낼 수 없습니다. 도움을 주시면 감사하겠습니다.

내 activity.java (inputGuardian1은 EditText의 예입니다) :

inputGuardian1.setOnFocusChangeListener(new View.OnFocusChangeListener() {
        @Override
        public void onFocusChange(View view, boolean hasFocus) {
            if (!hasFocus) {
                InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                mgr.hideSoftInputFromWindow(inputGuardian1.getWindowToken(), 0);
            }
        }
    });

레이아웃 xml 파일 :

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
                                             xmlns:app="http://schemas.android.com/apk/res-auto"
                                             android:layout_width="match_parent"
                                             android:layout_height="match_parent">

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />


<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:paddingLeft="20dp"
        android:paddingRight="20dp" >
        <!--android:layout_marginTop="?attr/actionBarSize"-->


    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:paddingLeft="20dp"
        android:paddingRight="20dp">

        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_guardian1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <EditText
                android:id="@+id/inputGuardian1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:singleLine="true"
                android:imeOptions="actionDone"
                android:hint="Guardian 1" />
        </android.support.design.widget.TextInputLayout>

        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_Guardian2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <EditText
                android:id="@+id/inputGuardian2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:singleLine="true"
                android:imeOptions="actionDone"
                android:hint="Guardian 2" />
        </android.support.design.widget.TextInputLayout>

        <android.support.design.widget.TextInputLayout
        android:id="@+id/input_layout_Guardian3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <EditText
            android:id="@+id/inputGuardian3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:singleLine="true"
            android:imeOptions="actionDone"
            android:hint="Guardian 3" />
    </android.support.design.widget.TextInputLayout>

        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_Guardian4"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <EditText
                android:id="@+id/inputGuardian4"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:singleLine="true"
                android:imeOptions="actionDone"
                android:hint="Guardian 4" />
        </android.support.design.widget.TextInputLayout>
        </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:paddingTop="40sp"
        android:paddingLeft="20dp"
        android:paddingRight="20dp">

        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_ChildName"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <EditText
                android:id="@+id/inputChildName"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:singleLine="true"
                android:hint="Child's Name"
                android:layout_marginTop="30sp"
                android:imeOptions="actionDone"
                />

        </android.support.design.widget.TextInputLayout>



    </LinearLayout>

        <Button android:id="@+id/buttonNext"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Next"
                android:background="@color/colorPrimary"
                android:layout_marginTop="40dp"
                android:textColor="@android:color/white" />

    </LinearLayout>
</ScrollView>

skbrhmn

모든 컨테이너를 설정 android:clickable="true"하고 android:focusableInTouchMode="true"문제를 해결했습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

하단 시트에서 EditText가 작동하지 않는 소프트 키보드 숨기기

분류에서Dev

조각에서 숨겨지지 않는 소프트 키보드. 키보드를 숨기는 방법?

분류에서Dev

활동 상태 onStop에서 Android 소프트 키보드 닫기 / 숨기기

분류에서Dev

Android에서 키보드 숨기기 이벤트 감지

분류에서Dev

자동 키보드 숨기기를 동시에 사용하면 텍스트 필드의 지우기 버튼 (x)이 작동하지 않습니다.

분류에서Dev

onEdit ()에서 작동하지 않는 열을 숨기는 Google 스프레드 시트 스크립트

분류에서Dev

Android 소프트 키보드에서 일부 키를 숨기는 방법이 있습니까?

분류에서Dev

사용자 지정 대화 상자를 닫은 후 Android에서 소프트 키보드 숨기기

분류에서Dev

소프트 키보드는 숨기지 않습니다

분류에서Dev

보기에서 작동하는 메소드가 컨트롤러에서 작동하지 않습니다.

분류에서Dev

숨기기 메서드가 C #에서 작동하지 않는 이유

분류에서Dev

어디서나 소프트 키보드 숨기기

분류에서Dev

조각의 소프트 키보드 팝업에서 작업 표시 줄 숨기기

분류에서Dev

Nexus 기기에서 Android 숨기기 소프트 키

분류에서Dev

Cordova 5.1.1에서 키보드 표시 / 숨기기 이벤트가 발생하지 않음

분류에서Dev

iOS 8에서 외부 키보드로 작동하지 않는 키보드 크기 가져 오기

분류에서Dev

Android 소프트 키보드를 숨기고 EditText에서 숫자 만 허용

분류에서Dev

Flutter 키보드는 안드로이드에서 텍스트 필드를 숨기지 만 iOS에서는 잘 작동합니다.

분류에서Dev

소프트 키보드 표시 및 숨기기가 작동하지 않습니다.

분류에서Dev

ANDROID : Android 소프트 키보드에서 키 누르기

분류에서Dev

Android 소프트 키보드를 숨기는 방법?

분류에서Dev

Kotlin에서 SearchView의 소프트 키보드를 숨기는 방법은 무엇입니까?

분류에서Dev

노트북 키보드는 Windows 8.1에서는 작동하지 않지만 BIOS에서는 작동합니다.

분류에서Dev

LG 노트북에서 키보드가 작동하지 않음

분류에서Dev

UITextField에없는 터치 감지 (키보드 숨기기)

분류에서Dev

탭에서 작동하지 않는 숨기기 표시

분류에서Dev

작동하지 않는 vb.net에서 cmd 숨기기

분류에서Dev

이전에 "숨겨진"요소에서 jQuery 키 누르기가 작동하지 않음

분류에서Dev

프랑스어 키보드에서 Excel 바로 가기가 작동하지 않음

Related 관련 기사

  1. 1

    하단 시트에서 EditText가 작동하지 않는 소프트 키보드 숨기기

  2. 2

    조각에서 숨겨지지 않는 소프트 키보드. 키보드를 숨기는 방법?

  3. 3

    활동 상태 onStop에서 Android 소프트 키보드 닫기 / 숨기기

  4. 4

    Android에서 키보드 숨기기 이벤트 감지

  5. 5

    자동 키보드 숨기기를 동시에 사용하면 텍스트 필드의 지우기 버튼 (x)이 작동하지 않습니다.

  6. 6

    onEdit ()에서 작동하지 않는 열을 숨기는 Google 스프레드 시트 스크립트

  7. 7

    Android 소프트 키보드에서 일부 키를 숨기는 방법이 있습니까?

  8. 8

    사용자 지정 대화 상자를 닫은 후 Android에서 소프트 키보드 숨기기

  9. 9

    소프트 키보드는 숨기지 않습니다

  10. 10

    보기에서 작동하는 메소드가 컨트롤러에서 작동하지 않습니다.

  11. 11

    숨기기 메서드가 C #에서 작동하지 않는 이유

  12. 12

    어디서나 소프트 키보드 숨기기

  13. 13

    조각의 소프트 키보드 팝업에서 작업 표시 줄 숨기기

  14. 14

    Nexus 기기에서 Android 숨기기 소프트 키

  15. 15

    Cordova 5.1.1에서 키보드 표시 / 숨기기 이벤트가 발생하지 않음

  16. 16

    iOS 8에서 외부 키보드로 작동하지 않는 키보드 크기 가져 오기

  17. 17

    Android 소프트 키보드를 숨기고 EditText에서 숫자 만 허용

  18. 18

    Flutter 키보드는 안드로이드에서 텍스트 필드를 숨기지 만 iOS에서는 잘 작동합니다.

  19. 19

    소프트 키보드 표시 및 숨기기가 작동하지 않습니다.

  20. 20

    ANDROID : Android 소프트 키보드에서 키 누르기

  21. 21

    Android 소프트 키보드를 숨기는 방법?

  22. 22

    Kotlin에서 SearchView의 소프트 키보드를 숨기는 방법은 무엇입니까?

  23. 23

    노트북 키보드는 Windows 8.1에서는 작동하지 않지만 BIOS에서는 작동합니다.

  24. 24

    LG 노트북에서 키보드가 작동하지 않음

  25. 25

    UITextField에없는 터치 감지 (키보드 숨기기)

  26. 26

    탭에서 작동하지 않는 숨기기 표시

  27. 27

    작동하지 않는 vb.net에서 cmd 숨기기

  28. 28

    이전에 "숨겨진"요소에서 jQuery 키 누르기가 작동하지 않음

  29. 29

    프랑스어 키보드에서 Excel 바로 가기가 작동하지 않음

뜨겁다태그

보관