EditText пропущенные символы перед добавлением новой строки - PullRequest
0 голосов
/ 04 января 2012

Мне действительно не нравится спрашивать об этих маленьких проблемах, но после долгих часов поиска это выглядит как тупик.

У меня возникла проблема с EditText в Android.Он очень простой, и к нему не применяются стили.

Проблема в том, что если я начну печатать на нем, когда он достигнет последней максимальной ширины, вместо добавления новой строки он «волшебным образом» расширит ширину EditText и позволит мне вставить около 10 или 12 символов перед тем, как добавитьновая линия.Очевидно, что все эти 10-12 символов «вне поля зрения».Я действительно не знаю, почему это происходит, любая помощь будет очень кстати!

Вот мой макет:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center_horizontal"
    android:background="@drawable/fondo_localizacion">

    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" 
        android:layout_margin="5dp"
        android:stretchColumns="1">

        <TableRow >
        <TextView
    android:id="@+id/locationNameLabel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                style="@style/LabelLocalizacion"
                android:gravity="center_vertical"
                android:text="@string/nombre_label">
            </TextView>
            <EditText 
                android:id="@+id/locationName"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                >
            </EditText>     
        </TableRow>
        <!-- La segunda fila tiene el par desc y su valor -->
        <TableRow >
            <TextView
                android:id="@+id/locationDescLabel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                style="@style/LabelLocalizacion"
                android:gravity="center_vertical"
                android:text="@string/desc_label">
            </TextView>
            <EditText 
                android:id="@+id/locationDesc"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                >
            </EditText>     
        </TableRow>

        <TableRow >
            <TextView
                android:id="@+id/locationPicLabel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                style="@style/LabelLocalizacion"
                android:gravity="center_vertical"
                android:text="@string/imagen_label">
            </TextView>
        </TableRow>
</TableLayout>

Ответы [ 2 ]

1 голос
/ 04 января 2012

Попробуйте указать высоту и ширину тега Table Row. Уберите android: stretchColumns = "1" из таблицы и добавьте вес edittext в 1, используя этот макет после изменения

         <TableRow
         android:layout_width="fill_parent"
          android:layout_height="wrap_content" >

        <TextView
        android:id="@+id/locationNameLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:text="gfg" >
        </TextView>

    <EditText
        android:id="@+id/locationName"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:hint="hjhj" >
       </EditText>
     </TableRow>
     <!-- La segunda fila tiene el par desc y su valor -->

       <TableRow
      android:layout_width="wrap_content"
       android:layout_height="wrap_content" >

       <TextView
        android:id="@+id/locationDescLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:text="yuiuy" >
      </TextView>

    <EditText
        android:id="@+id/locationDesc"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1" >
    </EditText>
</TableRow>

<TableRow
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/locationPicLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:text="" >
    </TextView>
</TableRow>

0 голосов
/ 04 января 2012

Попробуйте создать EditText с фиксированной числовой шириной вместо wrap_content

...