1

私は Android アプリケーションに取り組んでいますが、解決できない問題がいくつかあります。

xml にはRelativeLayoutwith oneがあり、変数の値に応じてEditText動的に 1 つまたは 2 つ追加する必要があります。EditText

問題

問題はEditText、最初のもの (xml で宣言されているもの) の上に挿入すると、高さが大きくなりすぎて、その終わりが見えず、なぜそれが起こるのか理解できないことです。

これが私の最新のコードです:

活動.xml

<!-- Some other layouts -->
<RelativeLayout
    android:id="@+id/relativeLayoutLectura1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/linearLayoutMensajeLectura"
    android:layout_marginLeft="25dp"
    android:layout_marginRight="25dp"
    android:layout_marginTop="10dp">

    <EditText
        android:id="@+id/editTextLectura1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="@string/introducir_lectura"
        android:textSize="@dimen/textSize" />

</RelativeLayout>
<!-- More layouts -->

アクティビティ.java

if(lecturas > 1) {
    // Have to insert lecturas-1 EditText
    RelativeLayout parentLayout = (RelativeLayout) 
    findViewById(R.id.relativeLayoutLectura1);
    for(int lectura = 2; lectura < lecturas; lectura++) {
        EditText editTextLectura = new EditText(this);
        RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
        LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
        if(lectura == 2) {
            //Insert below the one created in xml
            params.addRule(RelativeLayout.BELOW, R.id.editTextLectura1);
        } else {
            //Insert below the one created in previous iteration
            params.addRule(RelativeLayout.BELOW, lectura-1);
        }
        editTextLectura.setLayoutParams(params);
        editTextLectura.setId(lectura);
        editTextLectura.setHint(R.string.introducir_lectura);
        editTextLectura.setTextSize(R.dimen.textSize);
        //Add to layout
        parentLayout.addView(editTextLectura);
    }
}

問題を見つけるのを手伝ってもらえますか? EditTextxml で作成されたものは正しく表示され、コードで作成されたものは正しい場所に設定されます。

4

1 に答える 1