Frage

Ich kenne das Attribut, das den Text „disapear“ auf dem linken Teil des EditText macht eine einzige Zeile zu halten, (Einzeiliges = „true“). Aber mein Problem ist, wenn ich die EditText füllen, bevor die Ansicht angezeigt wird ... in diesem Fall meine edittexts sind auf dem Bildschirm alle Ausgehen ... irgendwelche Ideen? thx!

Dies ist, was zu erhalten ist, wenn die leere EditText füllen. Alles bleibt gesetzt, und der Text verschwindet auf der linken Seite

Screenshot

und wenn ich prefill aus meiner DB

Screenshot

Hier ist der Code des EditText:

<EditText android:id="@+id/InscripChampNom"
android:layout_height="wrap_content" android:textSize="14px"
android:inputType="textPersonName" android:layout_marginRight="20dip"
android:singleLine="true" android:textColor="@color/background"></EditText>

Das Tablelayout ist wie folgt definiert:

<TableLayout android:layout_width="fill_parent"
android:stretchColumns="1" android:layout_height="fill_parent">

Ich habe auch versucht mit dem Attribut

android:layout_width="fill_parent"

und

android:layout_width="wrap_content"

kein Erfolg auf allen ...

Vielleicht gibt es einen Konflikt zwischen dem Eingangstyp und Einleiner?

EDIT Hier ist der vollständige Code meiner Frage:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:scrollbars="vertical" android:background="@color/backgroundzen"
android:layout_gravity="fill" android:layout_height="fill_parent"
android:layout_width="fill_parent" android:paddingLeft="6dip"
android:paddingRight="6dip">
<TableLayout style="@style/LayoutWhiteBgrdFillWrap"
    android:paddingLeft="6dip" android:paddingRight="6dip"
    android:stretchColumns="1">
    <TextView android:id="@+id/NomFormationConference" style="@style/textViewTitleRedzenBold"
        android:text="Nom conférence"></TextView>
    <TableRow android:layout_margin="2dip">
        <TextView android:id="@+id/DateSession" android:textColor="@color/textezenrouge"
            android:layout_height="wrap_content" android:layout_width="wrap_content"
            android:text="date début"></TextView>
        <TextView android:id="@+id/speakerConf" android:textColor="@color/textezenrouge"
            android:layout_height="wrap_content" android:layout_width="wrap_content"
            android:text="speaker"></TextView>
    </TableRow>
    <TableRow android:layout_margin="2dip">
        <TextView android:id="@+id/InscripNom" android:layout_width="wrap_content"
            android:textColor="@color/background" android:layout_height="wrap_content"
            android:text="@string/nom" android:textStyle="bold"></TextView>
        <EditText android:id="@+id/InscripChampNom"
            android:layout_height="wrap_content" android:textSize="14sp"
            android:layout_width="fill_parent" android:inputType="textPersonName"
            android:layout_marginRight="20dip" android:hint="@string/nomh"
            android:singleLine="true" android:textColor="@color/background"></EditText>
    </TableRow>

// Die letzte TableRow wiederholt wird 5-mal mit verschiedenen Daten im Innern.          

Der Stil ist wie folgt aus:

<style name="LayoutWhiteBgrdFillWrap">
    <item name="android:background">@color/backgroundzen</item>
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">fill_parent</item>
</style>

Und hier ist, wie ich die EditText füllen:

misc = SQLiteDatabase.openDatabase("/data/data/com.mobile.zen/databases/" + Constants.UNVERSIONNED_DATABASE, null,
            SQLiteDatabase.OPEN_READONLY);
    Cursor c = misc.query("MISC", null, null, null, null, null, null);
    if (c.moveToFirst()) {
        do {
            nomInscrit.setText(c.getString(1));
        } while (c.moveToNext());
    }
    c.close();
    misc.close();
War es hilfreich?

Lösung

Versuchen android:shrinkColumns="1" zu Ihrem TableLayout Zugabe zu sagen, dass es die EditText Elemente zwingen kann kleiner sein, in die Breite des Bildschirms zu passen.

Andere Tipps

Sie haben kein android:layout_width Attribut auf Ihrem EditText. Fügen Sie eine oder andere Weise einschränken, wie lange kann das Feld (zum Beispiel, wenn es in einer RelativeLayout, Verwendung android:layout_alignParentRight="true" ist) sein.

Ich habe gerade versucht, das Problem zu reproduzieren, aber ich konnte nicht.

Überprüfen Sie:

<?xml version="1.0" encoding="utf-8"?>

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:stretchColumns="1"
    android:layout_height="fill_parent">

    <EditText android:id="@+id/a" android:layout_height="wrap_content"
        android:textSize="14px" android:inputType="textPersonName"
        android:layout_marginRight="20dip" android:singleLine="true"
        android:textColor="@android:color/black"></EditText>

    <EditText android:id="@+id/b" android:layout_height="wrap_content"
        android:textSize="14px" android:inputType="textPersonName"
        android:layout_marginRight="20dip" android:singleLine="true"
        android:textColor="@android:color/black"></EditText>

    <EditText android:id="@+id/c" android:layout_height="wrap_content"
        android:textSize="14px" android:inputType="textPersonName"
        android:layout_marginRight="20dip" android:singleLine="true"
        android:textColor="@android:color/black"></EditText>

</TableLayout>

Könnte ein möglicher Fehler in Android sein. Aber eine Möglichkeit, es zu lösen sein kann, ist etwas Wert als Breite zum Bearbeiten von Textfeld an und geben Sie

  

Android: stretchColumns = "1"

   <?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:scrollbars="vertical" android:background="#ffffff"
android:layout_gravity="fill" android:layout_height="fill_parent"
android:layout_width="fill_parent" android:paddingLeft="6dip">
  <TableLayout android:layout_below="@+id/reltable1" android:id="@+id/tablelayout_main" android:layout_width="fill_parent" android:layout_marginRight="10dip" android:layout_marginBottom="10dip" android:layout_height="fill_parent" android:layout_centerInParent="true" android:gravity="center" android:stretchColumns="1">
    <TextView android:id="@+id/NomFormationConference" 
        android:text="Nom conférence"></TextView>
    <TableRow android:layout_height="wrap_content" android:layout_width="fill_parent">
        <TextView android:id="@+id/DateSession"
            android:layout_height="wrap_content" android:layout_width="wrap_content"
            android:text="date début"></TextView>
        <TextView android:id="@+id/speakerConf" 
            android:layout_height="wrap_content" android:layout_width="wrap_content"
            android:text="speaker"></TextView>
    </TableRow>
      <TableRow android:layout_height="wrap_content" android:layout_width="fill_parent">
        <TextView android:id="@+id/InscripNom" android:layout_width="wrap_content"
           android:layout_height="wrap_content"
            android:text="nom" android:textStyle="bold"></TextView>
        <EditText android:id="@+id/InscripChampNom"
            android:textSize="14sp"
            android:inputType="textPersonName"
            android:hint="nomh" android:text="dsfdsfdsfsdfsdfsssssssssssssssssssssssssssssss" android:layout_height="wrap_content" android:fitsSystemWindows="true" android:layout_width="220dip" android:ellipsize="end"></EditText>
    </TableRow>
</TableLayout>
</ScrollView>

Ich habe auch hinzugefügt Höhe und Breite Eigenschaft für TableRow

Ich glaube nicht, Werke in Scrolltablelayout. Ich hatte eine Einrichtung als solche und es keine Fehler werfen aber der Emulator nur nicht geladen Sie die App und sagt aufgehört zu arbeiten. Ich entfernte die Scrollview und Sache zu arbeiten begann.

Ich denke, das Problem ist, dass Tablelayout seine eigenen Bildlaufleisten hat es spielt keine Scrollview und vielleicht die zwei Konflikt müssen.

<EditText 
    android:id="@+id/InscripChampNom"
    android:layout_height="wrap_content" 
    android:textSize="14px" 
    android:inputType="none" 
    android:layout_marginRight="20dip" 
    android:singleLine="true" 
    android:textColor="@color/background" 
    android:editable="false"
    android:ellipsize="end">
</EditText>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top