我正在尝试将编辑文本视图动态添加到java类的布局中。但是,根据我的实施,我的行动没有任何变化。这就是我所拥有的:
public final void onCreate(final Bundle i){
int value = 0;
isEdit = false;
try
{
super.onCreate(i);
this.setContentView(R.layout.contactedit);
ContactList.soundIndicator = 0;
etPhoneNumber = new ArrayList<EditText>();
this.etPhoneNumber.add((EditText) this.findViewById(R.id.etPhoneNumberInput));
this.addNumberBtn = (Button) this.findViewById(R.id.addNumberEditText);
addNumberBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//etPhoneNumber.add(new EditText(ContactEdit.this));
try{
LinearLayout layout = (LinearLayout) findViewById(R.id.contacteditll);
EditText temp = new EditText(ContactEdit.this);
temp.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
etPhoneNumber.add(temp);
layout.addView(temp);
}catch(Exception e){
Log.d(TAG, "Failed to create new edit text");
}
}
});
}
这是xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:baselineAligned="true"
android:orientation="vertical"
android:id="@+id/contacteditll"
android:background="@drawable/darkimg">
<TextView
android:id="@+id/titlePrint"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/titlePrompt"
/>
<Spinner
android:id="@+id/spContactTitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:prompt="@string/titlePrompt"
/>
<TextView
android:text="@string/namePrint"
android:id="@+id/namePrint"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
<EditText android:layout_width="match_parent"
android:hint="@string/returnName"
android:id="@+id/etFirstNameInput"
android:layout_height="wrap_content"
android:layout_toRightOf= "@+id/namePrint">
</EditText>
<TextView
android:text="@string/secondPrint"
android:id="@+id/secondPrint"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
<EditText android:layout_width="match_parent"
android:hint="@string/returnName"
android:id="@+id/etSecondNameInput"
android:layout_height="wrap_content"
android:layout_toRightOf= "@+id/namePrint">
</EditText>
<TextView android:id="@+id/numberPrint"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/numberPrint">
</TextView>
<EditText android:layout_height="wrap_content"
android:layout_width="match_parent"
android:id="@+id/etPhoneNumberInput"
android:hint="@string/returnNumber">
</EditText>
<Button android:id="@+id/addNumberEditText"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:freezesText="true"
android:editable="false"
android:text="ADD"
/>
<include
android:id="@+id/customedittext"
layout="@layout/myedittext"/>
<TextView android:id="@+id/emailPrint"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/emailPrint">
</TextView>
<EditText android:layout_height="wrap_content"
android:layout_width="match_parent"
android:id="@+id/etEmailAddressInput"
android:hint="@string/returnEmail">
</EditText>
<Button
android:freezesText="true"
android:editable="false"
android:layout_gravity="center"
android:layout_height="wrap_content"
android:id="@+id/btnSaveButton"
android:layout_width="wrap_content"
android:text="@string/save"
android:layout_below="@+id/emailInput"
/>
</LinearLayout>
每当我点击我的按钮时,都会听到动作,但什么都没做。即使新的编辑文本在我的编辑文本列表中,并且我将新的编辑文本添加到布局中,页面的布局也不会改变。
感谢任何帮助。
答案 0 :(得分:1)
肯定会被添加,但你没有看到它,因为没有空间。要测试两件事:
LinearLayout
放入ScrollView
。使用权重参数:
EditText temp = new EditText(ContactEdit.this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT, 1);
temp.setLayoutParams(params);