O Buggy ListView me deixa triste

eu tenho umListView onde defini o layout de cada item em um arquivo XML separado. Neste arquivo eu incluí umRatingBar e umEditText.

Criei programaticamente 7-8 itens nesteListView. Quando eu os folheio, parece ser um buggy. aqui estão alguns exemplos:

Se eu definir o foco para oEditText na primeira linha e role para baixo oListView, aleatóriaEditTexts de outras linhas terão foco. Parece que o próximoEditText depois que o focado desaparece recebe o foco. Talvez isso seja intencional, mas, como usuário, parece muito estranho.

Se eu definir o foco para umEditText, receba um teclado virtual, digite algo e clique no botão "Concluído" no meu teclado virtual, noEditText ficará vazio assim que o teclado virtual desaparecer.

Às vezes, quando clico em umEditText, receba um teclado virtual e comece a digitar letras, as letras desaparecerão assim que eu as digitar.

Quando clico em umEditText, o teclado virtual aparece, mas oEditText perde o foco e eu tenho que clicar noEditText novamente.

Mesmo que eu tenha definido oRatingBar parafocusable="false", se eu mover minha roda de rolagem, ela ainda terá foco.

Um dos meus problemas é que todos os itens visíveis da lista são redesenhados quando digito um caractere no teclado virtual (e desde que o texto doEditText é definido como alguns dados vazios, eles são limpos. Não entendo por que o Android decidiu redesenhar a lista toda vez que digito um personagem.

Aqui está o XML que estou usando para desenhá-los. São bolhas brancas, com uma borda cinza e algum texto, umaRatingBar e umEditText dentro:

<?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>

questionAnswers(5)

yourAnswerToTheQuestion