답변:
같은 질문이 있었지만 여전히 XML 파일에이 옵션을 설정하고 싶었 기 때문에 직접 알아낼 때까지 조금 더 조사했습니다.
이 줄을 EditText에 추가하십시오.
android:inputType="textFilter"
여기에 팁이 있습니다. "Enter"키를 사용하려면이 줄을 사용하십시오.
android:inputType="textFilter|textMultiLine"
android:inputType="textPersonName"
제안 된 텍스트 로 대체 했지만 여전히 제안 행 (마이크 아이콘 포함)이 표시됩니다.
android:inputType="textNoSuggestions"
또한 당신은 이것을 읽는 것이 좋습니다
android:inputType="textVisiblePassword"
매력처럼 작동
.
단어 뒤에 두 개의 공백이 입력되면 단어 끝에 추가 된 마침표 문자 를 제거하는 데 사용 되었습니다. 나는 작업 표시 줄의 searchView을 위해 그것을 사용 ((SearchView) MenuItemCompat.getActionView(searchItem)) .setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
방법 :
editText.inputType = InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
android:inputType="textNoSuggestions"
이미 일부 플래그가 설정되어 있으면 다음을 수행하십시오.
inputType = if (disableSuggestions) {
InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS or inputType
} else {
inputType and InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS.inv()
}
android:inputType="textNoSuggestions|textPassword"
자동 완성을 제거하는 가장 신뢰할 수있는 방법은
InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
EditText 컨트롤에서. 찰리가이 페이지에서 다른 답변을보고했듯이
android:inputType="textVisiblePassword"
이 플래그의 XML 버전입니다.
이 플래그를 다음과 결합 할 수 있습니다.
InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
대부분의 휴대폰에서 작동하는 InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD없이 InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS를 사용했지만 자동 완성 기능이있는 삼성 휴대폰을 발견했습니다.
Android는 에뮬레이터에서 EditText에 대한 자동 완성 / 자동 제안을 프로그래밍 방식으로 비활성화합니다.
InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD 사용을 제안했습니다.
나는 이것을 (InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS와 함께) 시도했고 작동했습니다. 자동 완성을 원하지 않는다는 힌트를받지 못하는 휴대폰에서도 암호 필드에 대해 비활성화를 허용 해야하는 이유를 알 수 있습니다. 숨을 참을 수없는 상황에서 이러한 전화기에서 원하는 것을 얻을 수있는 가장 좋은 방법 일 수 있습니다.
내 장치 중 일부에서는이 플래그에 의해 글꼴이 약간 변경되었습니다. 가장 눈에 띄는 것은 영 (0)과 오 (O)를 더 명확하게 구별하기 위해 암호를 표시하는 데 중요합니다. 그러나 적어도 효과가 있었고 새 글꼴은 매력적이지 않았습니다.
이 제안을 찾은 게시물은 오래되었지만 테스트 한 휴대폰은 Sprint의 Samsung Galaxy Note II (SPH-L900) 재고 Android 4.1.2입니다. 선택한 키보드는 "삼성 키보드"였으며 고객이 Sprint에서 받았을 때이 휴대 전화의 기본값이었던 것 같습니다. 따라서이 문제는 삼성의 중요한 휴대폰 제품군 중 적어도 몇 년 동안 지속되어 왔습니다.
저처럼 삼성 테스트 장치가없는 분들에게는 중요한 정보가 될 수 있습니다.
안드로이드 버전 8.0 이상에서는이 코드가 작동하지 않고 자동 완성 textview의 경우도이 코드가 작동하지 않으므로 8.0 이상에서 자동 제안 사용 안함에 대해 아래 코드를 사용하는 것이 좋습니다. android vesrion은 edittext android 의이 속성을 사용합니다 . ImportantForAutofill = "no"
<EditText
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:enabled="false"
android:focusable="false"
android:imeOptions="actionDone"
android:maxLength="80"
android:maxLines="1"
android:textColor="@color/colorBlack"
android:textColorHint="@color/colorBlack"
android:importantForAutofill="no"
android:textSize="@dimen/_12sdp"
app:bFontsEdt="light" />
이와 같은 AutoComplete textview의 경우이 필드를 사용하여 자동 제안 비활성화 android : importantForAutofill = "no" :
<AutoCompleteTextView
android:id="@+id/autocompleteEditTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/_3sdp"
android:layout_marginTop="@dimen/_5sdp"
android:background="@null"
android:imeOptions="actionDone"
android:singleLine="true"
android:text=""
android:textColor="@color/colorBlack"
android:textColorHint="@color/colorGrayDark"
android:importantForAutofill="no"
android:textSize="@dimen/_12sdp" />
이것은 여전히 문제 이므로이 답변을 게시 할 것입니다. android : inputType = "textVisiblePassword"는 작동하지만 바람직하지 않습니다. 첫 번째는 입력을 잘못 표현한 것이고 두 번째는 제스처 타이핑을 비활성화하기 때문입니다!
대신에 textNoSuggestions와 textFilter 플래그를 모두 사용해야했습니다. 둘 중 하나만 작동하지 않았습니다.
android:inputType="textCapSentences|textFilter|textNoSuggestions"
textCapSentences는 다른 이유로였습니다. 그러나이 inputType은 스 와이프 입력을 유지하고 제안 도구 모음을 비활성화했습니다.
나는 4.4.4를 실행하는 삼성 전화에서 이것을 얻었습니다. 이것은 내 문제를 해결했습니다.
android:inputType="text|textVisiblePassword|textNoSuggestions"
좋아, 문제는-Eclipse에서는 textNoSuggestion이라는 플래그에 대한 제안을 얻지 못합니다.
그리고 inputType의 속성이 인식되지 않기 때문에 main.xml (UI를 디자인하는 곳)에서 설정할 수 없습니다. 따라서 int const를 사용하여 코드에서 설정할 수 있습니다.
EditText txtTypeIt = (EditText) this.findViewById(R.id.txtTypeIt);
txtTypeIt.setInputType(524288);
// 100% correct & tested
txtKey = (EditText) view.findViewById(R.id.txtKey);
txtKey.setPrivateImeOptions("nm");
txtKey.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
txtKey.setImportantForAutofill(View.IMPORTANT_FOR_AUTOFILL_NO);
}