2012-10-26 20 views
10

To chyba najbardziej dziwna rzecz, jaką kiedykolwiek spotkałem.Wskazówka do android EditText nie pojawia się

Oto układ:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

<EditText   
    android:id="@+id/GuessAppEditText" 
    android:lines="1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:gravity="center_horizontal"   
    android:inputType="textCapWords" 
    android:hint="@string/Hint" /> 

</RelativeLayout> 

hint z EditText nie jest wyświetlany.

Po usunięciu android:gravity="center_horizontal" lub android:inputType="textCapWords" wskazówka staje się widoczna.

Nie mam absolutnie pojęcia, co ma gravity izrobić z hint. Czy to kolejny błąd Androida, czy robię coś nie tak? W pierwszym przypadku, jakie byłoby obejście tego problemu? Chcę, aby mój tekst był wyrównany do środka i pisany wielką literą, a podpowiedź powinna być pokazywana. A może chcę zbyt wiele od słabego Androida?

+1

Zobacz powiązane pytanie http://stackoverflow.com/a/3643494/1134705 – jnthnjns

+0

Czy próbowałeś usunąć podpowiedź i ustawić programowo, aby sprawdzić, czy jest to obejście problemu? – jnthnjns

+0

android: gravity = "center_horizontal" tworzy problem ... –

Odpowiedz

24

Wystarczy dodać jeden wiersz i będzie działać, tzn android:ellipsize="start"

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <EditText 
     android:id="@+id/GuessAppEditText" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:ellipsize="start" 
     android:gravity="center_horizontal" 
     android:hint="hint" 
     android:inputType="textCapWords" 
     android:lines="1" /> 

</RelativeLayout> 
0

Wygląda na to, że jest to błąd, jak wspomniano here. Wygląda na to, że kilka osób w tym wątku opublikowalo prace do wykonania lub rozwiązania, które można wypróbować. Czy próbowałeś usunąć podpowiedź i ustawić programowo, aby sprawdzić, czy to obejście?

zadeklarować ten przed onCreate()

EditText guessAppEt; 

a to z onCreate()

guessAppEt = (EditText)findViewById(R.id.GuessAppEditText); 
guessAppEt.setHint("Your hint here"); 
4

prawdopodobne, że oryginalny zaakceptować odpowiedź nie jest już ważna dla najnowszej wersji Androida Sion, poprzez utworzenie kolor wskazówkę uczyni wyświetlacz Podpowiedź:

android:textColorHint="@android:color/darker_gray" 

nadzieję, że pomaga innym, przetestowane z Androidem 5+