私は Android アプリケーションに取り組んでいますが、解決できない問題がいくつかあります。
xml にはRelativeLayout
with 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);
}
}
問題を見つけるのを手伝ってもらえますか? EditText
xml で作成されたものは正しく表示され、コードで作成されたものは正しい場所に設定されます。