Buggy ListView macht mich traurig

Ich habe eine ListView wo habe ich definiert das layout der einzelnen Elemente in einer separaten XML-Datei. In dieser Datei habe ich einen RatingBar und ein EditText.

Ich habe programmgesteuert erstellt 7-8 Elemente in diesem ListView. Wenn ich Blättern Sie durch Sie, so scheint es Recht buggy ist. Hier sind einige Beispiele:

  1. Wenn ich den Fokus auf die EditText in der ersten Zeile und dann nach unten scrollen, die ListView random EditTexts aus anderen Reihen wird gefasst. Es scheint zu sein, dass die nächste EditText nach dem fokussierten verschwindet man erhält den Fokus. Vielleicht ist dies beabsichtigt, aber, als Benutzer, so scheint es sehr seltsam.
  2. Wenn ich den Fokus auf eine EditText, erhalten Sie eine virtuelle Tastatur, geben Sie etwas ein, und klicken Sie auf die Schaltfläche "Fertig" auf meiner virtuellen Tastatur, die EditText wird leer, sobald die virtuelle Tastatur verschwindet.
  3. Manchmal, wenn ich auf eine EditText, erhalten Sie eine virtuelle Tastatur, und starten Sie die Eingabe von Buchstaben, die Buchstaben verschwinden, sobald ich Ihnen geben.
  4. Wenn ich auf eine EditText die virtuelle Tastatur zeigt sich, aber die EditText Fokus verliert und ich auf den EditText wieder.
  5. Obwohl ich eingestellt habe das RatingBar zu focusable="false", wenn ich meine Scrollrad, es noch packt Fokus.

Eines meiner Probleme ist, alle sichtbaren Elemente der Liste erhalten Sie neu gezeichnet, wenn ich ein Zeichen auf der virtuellen Tastatur (und da der text der EditText gesetzt, um einige Daten, die leer ist, wird er gelöscht. Ich verstehe nicht, warum Android entscheiden würde, neu zu zeichnen, die Liste jedes mal, wenn ich ein Zeichen eingeben.

Hier ist die XML, die ich verwende, um Sie zu zeichnen. Sie sind weiße Bläschen, die mit einer grauen Grenze, und etwas text, ein RatingBar und ein EditText innen:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingTop="10dip"
    android:paddingBottom="10dip"
    android:paddingLeft="15dip"
    android:paddingRight="15dip"
    >
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="2dip"
        android:background="@drawable/shape_outer">
        <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:padding="2dip"
            android:background="@drawable/shape_inner">
                    <TextView
                            android:id="@+id/rating_category"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:textColor="@color/dark_gray"
                            android:textStyle="bold"
                            android:layout_marginBottom="10dip" />
                        <RatingBar 
                            android:id="@+id/rating_rating"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:numStars="5"
                            android:rating="0"
                            android:stepSize="1"
                            android:focusable="false"
                            android:clickable="false"
                            />
                        <EditText 
                            android:id="@+id/rating_text"
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_column="1"
                            android:padding="6dip"
                            android:textColor="#000000"
                            android:gravity="left|top"
                            android:lines="3"
                            android:hint="Comment"
                            android:imeOptions="actionDone" />
        </LinearLayout>
    </LinearLayout>
</LinearLayout>
Kommentar zu dem Problem
Ich nur gewählt, weil ich Liebe Ihre Frage name. Wie leistungsfähig ist Ihre virtuelle Gerät? Kommentarautor: Nix
Ich Stimme mit Nix. Kommentarautor: Mike
Lol-danke. Das einzige was ich gemacht habe beim erstellen der virtuellen Gerät (ich habe gerade getippt, "VD" hier und dachte, ich würde spell it out statt) war, geben Sie einen Namen und wählen Sie das Ziel (2.1). Alles andere ist Standard. Kommentarautor: Andrew
Was zu geschehen scheint, ist hier der sichtbare Teil der Liste Elemente neu gezeichnet, wenn ich ein Zeichen auf der virtuellen Tastatur (und da der text des EditText gesetzt, um einige Daten, die leer ist, wird er gelöscht. Warum ist die Eingabe von text Neuzeichnen der Liste posten???? Kommentarautor: Andrew
Hier gilt das gleiche. Ich bin mehr frustriert als traurig, aber, und wünschte, ich hätte bekannt, seine Grenzen früher. Kommentarautor: Jeshurun

InformationsquelleAutor der Frage Andrew | 2010-08-12

Schreibe einen Kommentar