我想用一个Buttonclick创建一些EditText字段,它们有自己的名字(eText1,eText2 ...) 例如有一个按钮+。用户可以点击该按钮来创建一个新的EditText字段。android - 用按钮创建EditText字段
回答
你给一点背景,但这段代码可能会进一步给你带来痘痘:
EditText et1, et2, et3;
public void onCreate() {
et1 = (EditText)findViewById(R.id.et1);
et2 = (EditText)findViewById(R.id.et2);
et3 = (EditText)findViewById(R.id.et3);
et1.setVisibility(View.GONE);
et2.setVisibility(View.GONE);
et3.setVisibility(View.GONE);
}
public void clickHandlingMethod(View v) {
et1.setVisibility(View.VISIBLE);
et2.setVisibility(View.VISIBLE);
et3.setVisibility(View.VISIBLE);
}
,你只可以隐藏所有的EditTexts
,当用户按下button
,使它们可见。
编辑:看到您的评论,用户可能加起来高达100 EditTexts
,你可能想要做出更动态的东西。试试这个,创建并添加一个在Button
点击:
ScrollView container; // create a scrollView in which you can put all EditTexts
static int totalEditTexts = 0;
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
container = (ScrollView) findViewById(R.id.scrollView);
}
public void clicked(View view) {
totalEditTexts++;
if (totalEditTexts > 100)
return;
EditText editText = new EditText(this);
//if you want to identify the created editTexts, set a tag, like below
editText.setTag("EditText" + totalEditTexts);
container.addView(editText);
}
EDIT2:全码:
public class ScrollStuff extends Activity {
LinearLayout containerLayout;
static int totalEditTexts = 0;
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.scroll);
containerLayout = (LinearLayout)findViewById(R.id.mlayout);
}
public void onBackPressed() {
totalEditTexts++;
if (totalEditTexts > 100)
return;
EditText editText = new EditText(this);
containerLayout.addView(editText);
editText.setGravity(Gravity.RIGHT);
LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) editText.getLayoutParams();
layoutParams.width = LinearLayout.LayoutParams.MATCH_PARENT;
editText.setLayoutParams(layoutParams);
//if you want to identify the created editTexts, set a tag, like below
editText.setTag("EditText" + totalEditTexts);
}
}
XML:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/mlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
</LinearLayout>
</ScrollView>
原谅我可怜的命名的选择,事实上,我点击事件使用onBackPressed()
,我很匆忙。
谢谢,我会尝试 –
@Edu请参阅我的编辑。由于用户最多可以添加100个,因此动态方法更好。 – stealthjong
可以在按钮上单击一次,但第二次崩溃: java.lang.IllegalStateException:ScrollView只能托管一个直接子对象 –
- 1. Android EditText字段像按钮
- 2. Android:在用户输入EditText时创建倒数字段字段
- 3. Edittext字段启用和禁用使用android中的按钮
- 4. 如何创建清除EditText的按钮?
- 5. 创建一个字段和按钮
- 6. 通过点击按钮(Android)创建新的EditText
- 7. 正从动态创建的EditText文本按钮的Android的Java
- 8. Android EditText链接到按钮
- 9. 如何在GridLayout中创建动态(微调,EditText,EditText,按钮)
- 10. 创建新按钮Android
- 11. Android:如何在PopupMenu的底部创建EditText字段?
- 12. Android:如何在java类中创建EditText字段
- 13. Android使用按钮打开EditText链接
- 14. 创建按钮
- 15. 创建一个按钮,创建按钮
- 16. 在Android中使用OpenGL创建按钮
- 17. Android的使用形状创建按钮
- 18. Xamarin - 填写EditText字段后无法启用按钮
- 19. 启用按钮,一旦所有的EditText字段不为空
- 20. 使用清除按钮清除多个EditText字段
- 21. edittext高于按钮
- 22. 如何在android中使用按钮,edittext和更多组件创建小部件
- 23. 按下按钮时创建Android阵列
- 24. android EditText inputType为StreetNumber字段
- 25. Android EditText字段和TextWatcher
- 26. 清除EditText字段中的所有文本按钮
- 27. 使用install4j中的文本字段创建单选按钮
- 28. 为Angularjs动态创建段落按钮
- 29. 动态创建分段单选按钮
- 30. 创建按钮
你在说什么语言和框架? – snurre
因此创建它们,有什么问题? – Leonidos
您是否预定义了EditTexts,或者用户是否可以按下无限按钮来创建大量的EditTexts? – stealthjong