我正在开发一个 Android 应用程序,但我遇到了一些我无法解决的问题。
在 xml 中,我有一个RelativeLayout
with one ,并且我必须根据变量值EditText
动态地插入一个或两个以上。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 中创建的内容,并且由代码创建的内容设置在正确的位置。