2010-08-31 6 views
45

mio EditText configurato non mostrerà il suggerimento nel modo seguente:EditText suggerimento non mostra

<EditText 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="right" 
    android:hint="The hint..." 
    android:scrollHorizontally="true" 
    android:singleLine="true" /> 

Funziona se ho impostato android:gravity="left" o se tolgo android:scrollHorizontally e android:singleLine attributi, che non è desiderabile. Eventuali suggerimenti?

+4

Posso confermare che 'editText' non visualizza il suggerimento quando' 'gravity' è center' o' 'right' e singleLine' è impostato. Sto anche cercando una soluzione. – Justin

+2

Non riesco più a modificare il mio ultimo commento, ma volevo menzionare che si tratta di un problema noto: http://code.google.com/p/android/issues/detail?id=7252 – Justin

risposta

2

Nessun attributo android:scrollHorizontally. Rimuoverla. EditText è un elemento fisso sullo schermo. vogliamo scorrere il layout contiene il EditText è sufficiente. questo è anche il miglior design. hai inserito android:ellipsize="end" anziché android:scrollHorizontally.

+1

No, non è quello. Se leggi la documentazione http://developer.android.com/reference/android/R.styleable.html#TextView_scrollH orizzontally, quando il testo digitato non rientra nel campo, android: scrollHorizontally attributo consente al testo di scorrere all'interno del campo (nessuna barra di scorrimento ovviamente). Non ha nulla a che fare con lo scroll del layout. – venuko

17

Volevo la mia casella singola EditText per scorrere ma mantenere anche il suggerimento sulla destra. Ho avuto lo stesso problema e ho mantenuto il suggerimento mantenendo gravity="right" e impostando singleLine="true" e ellipsize="end".

70

utilizzando android:ellipsize="end" risolto per me strano bug !! (ma Android ha un sacco di questi bug weirdo)

+0

dopo aver aggiunto questo TAG, posso vedere un suggerimento in Emulator, ma ancora non ho fortuna con Real Device (ad esempio sony ericsson xperia) – swiftBoy

+0

"android: ellipsize" proprietà funziona per me .. strano ...! – Vishal

1

Questo è come, ho fatto per EditText avere suggerimenti in esso.

<EditText 
    android:id="@+id/productQuantity" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="right|center_vertical" 
    android:hint="@string/quantity" 
    android:inputType="numberSigned" 
    android:ellipsize="end" 
    android:singleLine="true" > 
</EditText> 

Screenshot of what the above code should look like

2

con Android: ellipsize = "fine" risolve l'ovvio bug piattaforma. Purtroppo, Xperias ancora si comportano male :(

ho trovato altra soluzione che:

if (android.os.Build.MANUFACTURER.matches(".*[Ss]ony.*")) 
     editText.setGravity(Gravity.LEFT); 
else 
     editText.setGravity(Gravity.CENTER); 
1

Il seguito ha lavorato per me:

<EditText 
    android:id="@+id/UserText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_alignRight="@+id/UserPassword" 
    android:layout_marginTop="85dp" 
    android:ems="10" 
    android:hint="@string/UserHint" 
    android:inputType="textPersonName" 
    android:singleLine="true" 
    android:text="@string/UserName" > 

    <requestFocus /> 
</EditText> 
41

Nella versione Lollipop il colore del testo e il testo predefiniti suggerimento è bianco per EditText. Quindi dobbiamo cambiare come questo in EditText

android:textColorHint="@color/grey" 
+4

questo ha funzionato nel mio caso –

+2

Questo ha funzionato anche per me – allemattio

+1

ha funzionato per me. Strano comportamento. Solo una delle mie app ha avuto questo problema, ma risolto da questo. Mi chiedo cosa stia succedendo davvero. – March3April4

1

È necessario dare il colore del testo per suggerire

android:textColorHint="#000000" 
+0

Questo non è abbastanza per Android 2.3 (ho provato su HTS Desire S). Inoltre dovrebbe aggiungere Android: ellipsize = "end". – CoolMind