2012-05-08 16 views
8

Próbuję wyłączyć tekst predykcyjną dla danego EditText, jak wyjaśniono here, ale wciąż uzyskać autouzupełniania przez przewidywanie ...Nie można wyłączyć przewidywanie tekstu

Mam Samsung Galaxy S z włączoną XT9.

Ktoś może pomóc?

<EditText 
    android:id="@+id/search_field" 
    android:layout_width="300dp" 
    android:layout_height="27dp" 
    android:background="@drawable/bg_searchfield" 
    android:hint="@string/search_hint" 
    android:imeOptions="actionSearch" 
    android:inputType="text|textNoSuggestions|textFilter"/> 

Odpowiedz

19

Komentarz od this SO pytanie sugeruje, że atrybut xml nie działa dla niektórych modeli, ale że java-metoda działa w takich przypadkach. Więc spróbuj tego:

edittext.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); 

edit:

Jak sugeruje w komentarzu poniżej, oto alternatywa xml, który pracował:

android:inputType="textNoSuggestions|textVisiblePassword" 
+2

musiałem ustawić android: InputType = "textNoSuggestions | textVisiblePassword". Przyjmuję twoją odpowiedź na wskazówkę do odpowiedzi. Dzięki. – jul

+0

Próbowałem z mEt_text.setInputType (InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); i zadziałało to dla mnie. – Ankit

+0

Ta odpowiedź ma kompromis. Spróbuj wymazać literę od końca tekstu po użyciu tej metody. Musisz wymazać klawisz kasowania i kiedy zaczyna się kasowanie, kasuje cały tekst. –

5
android:inputType="textNoSuggestions|textVisiblePassword" 

to rozwiązanie działa, ale trzeba uważać z tym. Nie można zmienić języka klawiatury na urządzeniach HTC (prawdopodobnie powodem jest klawiatura Sense), jeśli ustawiono flagę textVisiblePassword.

Musiałem więc ustawić InputType z kodu i napisać coś takiego:

public static int getInputTypeForNoSuggestsInput() { 
    if (android.os.Build.MANUFACTURER.equalsIgnoreCase("Samsung")) { 
     return InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS 
       | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD; 
    } else { 
     return InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS; 
    } 
+0

Działa dla mnie. Czy istnieje potrzeba dodania powyżej, jeśli warunek. –

Powiązane problemy