Yanıtlar:
Aynı soruyu sormuştum ama yine de bu seçeneği XML dosyamda ayarlamak istedim, bu yüzden kendim bulana kadar biraz daha araştırma yaptım.
Bu satırı Düzenleme Metninize ekleyin.
android:inputType="textFilter"
İşte bir ipucu. "Enter" tuşunu kullanabilmek istiyorsanız bu satırı kullanın.
android:inputType="textFilter|textMultiLine"
android:inputType="textPersonName"
Önerilen metni değiştirdim ancak yine de öneri satırını (mikrofon simgesiyle) görüntülüyor.
android:inputType="textNoSuggestions"
Ayrıca daha iyi okumuştu bu
android:inputType="textVisiblePassword"
tıkır tıkır çalışıyor
.
, kelimeden sonra iki boşluk yazılırsa kelimenin sonuna eklenen nokta karakterini kaldırmak için çalıştı . Bunu eylem çubuğu searchView için kullandım ((SearchView) MenuItemCompat.getActionView(searchItem)) .setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
Bunu yapmanın yolları:
editText.inputType = InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
android:inputType="textNoSuggestions"
Zaten ayarlanmış bazı bayraklarınız varsa, o zaman:
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"
Otomatik tamamlamadan kurtulmak için bulduğum en güvenilir yaklaşım,
InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
EditText kontrolünüzde. Charlie'nin bu sayfadaki farklı bir yanıtta bildirdiği gibi,
android:inputType="textVisiblePassword"
bu bayrağın XML sürümüdür.
Bu bayrağı şununla birleştirebilirsiniz:
InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS
Çoğu telefonda çalışan InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD olmadan InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS kullanıyordum, ancak daha sonra hala otomatik tamamlama aldığım bir Samsung telefonla karşılaştım.
InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD kullanılması önerilir.
Bunu denedim (InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS ile birlikte) ve işe yaradı. Otomatik tamamlamayı istemediğiniz ipucunu almayan bir telefonun bile neden sahip olduğunu anlayabilirsiniz . bir şifre alanı için engelli olmaya izin vermek. Nefesimizi tutamadığımız için, bu tür telefonlardan istediğimizi almanın en iyi yolu bu olabilir.
Bazı aygıtlarımda, yazı tipi bu bayrakla biraz değiştirildi - en belirgin şekilde sıfırı (0) Oh (O) 'dan daha net bir şekilde ayırt etmek için, ki bu açıkça bir şifre görüntülemek için önemli olacaktır. Ama en azından işe yaradı ve yeni yazı tipi çekici değildi.
Bu öneriyi bulduğum gönderi eski olsa da, test ettiğim telefon çok yeniydi - bir Samsung Galaxy Note II (SPH-L900), Sprint'ten Android 4.1.2 stoku. Seçilen klavye "Samsung Klavye" idi ve görünüşe göre bu, müşteri onu Sprint'ten aldığında bu telefon için varsayılandı. Bu nedenle, görünüşe göre bu sorun, en azından bazı önemli Samsung telefon serileri için yıllar içinde devam etti.
Benim gibi Samsung test cihazına sahip olmayanlarınız için bu önemli bir bilgi olabilir.
Android sürümü 8.0 veya üstü için bu kod çalışmıyor ve otomatik tamamlama metin görünümü için de bu kod çalışmıyor, bu nedenle 8.0 veya üstü android vesrion'daki otomatik önerileri devre dışı bırakmak için aşağıdaki kodu kullanmanızı öneririm . Edittext android'in bu özelliğini kullanın : 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" />
ve bunun gibi Otomatik Tamamlama metin görünümü için Otomatik öneriyi Devre Dışı Bırakmak için bu Alanı kullanın 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" />
Bunu kullanarak bu sorunu çözebilirsiniz:
android:importantForAutofill="no"
Android O, alanlar için Otomatik doldurmayı destekleme özelliğine sahiptir, Sadece bunu xml'nizde kullanın, Otomatik doldurma ipuçlarını devre dışı bırakır
Bu hala bir sorun olduğu için, bu cevabı göndereceğim. android: inputType = "textVisiblePassword" çalışır, ancak istenmeyen bir durumdur, çünkü birincisi girdinin yanlış bir temsilidir ve ikincisi, Hareketle Yazmayı devre dışı bıraktığı için!
Bunun yerine, textNoSuggestions ve textFilter BOTH bayraklarını kullanmak zorunda kaldım. Ya tek başına işe yaramadı.
android:inputType="textCapSentences|textFilter|textNoSuggestions"
TextCapSentences başka nedenlerle yapıldı. Ancak bu inputType, hızlıca yazmayı sürdürdü ve öneri araç çubuğunu devre dışı bıraktı.
Bu şeyi 4.4.4 çalıştıran Samsung telefonlarında alıyordum. Bu benim sorunumu çözdü
android:inputType="text|textVisiblePassword|textNoSuggestions"
Tamam, sorun şuydu - Eclipse'de şu adla işaretlenmiş bayrak için öneri almıyorsunuz: textNoSuggestion
Ve bunu main.xml'de (kullanıcı arayüzünü tasarladığınız yer) ayarlayamazsınız çünkü inputType için bu öznitelik tanınmaz. Böylece, int const kullanarak kodda ayarlayabilirsiniz:
EditText txtTypeIt = (EditText) this.findViewById(R.id.txtTypeIt);
txtTypeIt.setInputType(524288);
Ve bunun cevabını bulmama yardımcı olduğunuz için teşekkürler jasta00 .
android:inputType="text|textNoSuggestions"
// 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);
}
Sadece EditText setThreshold()
yöntemini kullanabilirsiniz. Tahminleri göstermek istemediğinizde 100 diyelim ki eşiği ayarlayın. Tahminleri göstermeyi yeniden etkinleştirmek istiyorsanız, ihtiyaçlarınıza bağlı olarak 1 veya 2 gibi küçük bir int olarak ayarlayın.