2011-02-04 18 views
6

Provo a creare da un'applicazione, nell'app ho una forma lunga che voglio essere in una scroll view, ma quando aggiungo EditText a scrollView. L'eclissi mostra qualche errore nella sua vista designer.EditText in scroll view in android

error! 
IllegalStateException: ScrollView can host only one direct child 
Exception details are logged in Window > Show View > Error Log 

Qualcuno ha un'idea da decifrare?


Ho incluso questo codice dopo aver ottenuto una soluzione per il problema di cui sopra ..!

Ora EditText non mostra alcun testo digitato, fornisce solo alcuni suggerimenti ...!

Ho il seguente XML:

<ScrollView 
android:id="@+id/widget64" 
android:layout_width="320px" 
android:layout_height="358px" 
android:fillViewport="true" 
android:isScrollContainer="true" 
android:saveEnabled="true"> 
<TableLayout 
android:id="@+id/widget58" 
android:layout_width="320px" 
android:layout_height="65px" 
android:orientation="vertical" 
> 
<TableRow 
android:id="@+id/widget60" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:orientation="horizontal"> 
<TextView 
android:id="@+id/user" 
android:text="User" 
android:textColor="#000000"> 
</TextView> 
</TableRow> 
<TableRow 
android:id="@+id/widget60" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:orientation="horizontal" 
android:gravity="center" 
> 
<EditText 
android:id="@+id/users_first_name" 
android:layout_height="fill_parent" 
android:layout_width="fill_parent" 
android:hint="First Name" 
android:focusable="true" 
android:inputType="textPersonName" 
android:enabled="true" 
android:ems="15"> 
</EditText> 
</TableRow> 
</TableLayout> 
</ScrollView> 

Trovato il problema ..... La mia chiave emulatore è stata impostata su cinese invece di inglese ...

risposta

7

innanzitutto aggiungere qualsiasi layout a quella scrollview e poi aggiungi edittext a quel layout. Poi hai ottenuto lo scrolling per quell'editor. Per esempio: aggiungi Linearlayout a quella scrollview e poi aggiungi editText a taht linearlayout.

+0

grazie un lot..it lavora – rahul

+0

come posso votarla ..? – rahul

+0

clik sul lato sinistro in alto a sinistra – Pinki

5

Sì, ScrollVew può avere un solo figlio. Per questo fare qualcosa di simile

<ScrollView 
    fillViewPortView = "true"> 

    <RelativeLayout> 
      // Design the entire layout in here 
      // Put your elements one below the other. It will automatically scroll 
      // dont forget to setFillViewPort view to true in ScrollView 
    </RelativeLayout> 
</ScrollView> 

Questo risolverà il problema di sicuro
Speranza il suo aiuto:)

+0

grazie e funziona .. :) mi ha salvato la giornata ... @ User333 e @Javanator – rahul

+3

se aiuta ad accettare la risposta selezionando il controllo sul lato sinistro. Aiuterà anche gli altri – Javanator

+0

Ora il testo digitato non appare su EditText ..! – rahul