Android 向布局中动态添加编辑文本
我试图从java类向布局动态添加编辑文本视图。然而,从我实施的情况来看,我的行动没有任何变化。这就是我所拥有的:Android 向布局中动态添加编辑文本,android,android-edittext,Android,Android Edittext,我试图从java类向布局动态添加编辑文本视图。然而,从我实施的情况来看,我的行动没有任何变化。这就是我所拥有的: public final void onCreate(final Bundle i){ int value = 0; isEdit = false; try { super.onCreate(i); this.setContentView(R.layout.contactedit); Contact
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");
}
}
});
}
public final void onCreate(最终Bundle i){
int值=0;
isEdit=假;
尝试
{
super.onCreate(i);
这个.setContentView(R.layout.contactedit);
ContactList.soundIndicator=0;
etPhoneNumber=新的ArrayList();
添加((EditText)this.findViewById(R.id.etPhoneNumberInput));
this.addNumberBtn=(按钮)this.findViewById(R.id.addnumberditText);
addNumberBtn.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
//添加(新编辑文本(ContactEdit.this));
试一试{
LinearLayout布局=(LinearLayout)findViewById(R.id.contacteditll);
EditText temp=新的EditText(ContactEdit.this);
临时设置LayoutParams(新LayoutParams(LayoutParams.FILL_父级、,
LayoutParams.WRAP_内容);
etPhoneNumber.add(临时);
布局。添加视图(临时);
}捕获(例外e){
Log.d(标记“未能创建新编辑文本”);
}
}
});
}
这是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>
每当我点击我的按钮时,会听到动作,但什么也没做。即使新编辑文本在我的编辑文本列表中,并且我正在将新编辑文本添加到布局中,页面的布局也不会改变
任何帮助都将不胜感激。它肯定会被添加,但您看不到它,因为没有剩余空间。有两件事需要测试:
- 将
放在线性布局
中滚动视图
- 使用权重参数
EditText temp = new EditText(ContactEdit.this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT, 1);
temp.setLayoutParams(params);
contacteditll的方向是什么?如果从xml添加按钮,它是否正常工作?按钮在xml中。方向是垂直的。我添加了xml。我尝试的是,如果用户单击按钮,创建一个新的编辑文本以允许他们输入另一个数字。我想contacteditll是保存所有视图的外部布局。这对我来说很好。edittext被添加到布局的底部。customedittext的高度是多少。我认为这里的问题是edittext被添加了,但它在屏幕外,添加滚动。事情可能在屏幕外。我尝试了加权,但似乎不起作用。因此,要放入滚动视图,我是否要将线性布局括起来ScrollView标签中的ag?当我在scroll view中包含线性布局时,我的屏幕变黑了。很抱歉一直问你问题。等等,我收到了。谢谢你的帮助。现在我必须将编辑文本放在正确的位置。谢谢在你找到其他内容后与大家分享。我现在正在寻找相同的内容:'(