我有一个布局(activity_main.xml),它有一些TextView和EditText元素以及一个按钮。 单击按钮时会发生一些事情,但是我想在单击按钮后直接在下面添加一个新的EditText元素和现有元素。
我怎么能让这件事发生呢?
答案 0 :(得分:1)
通常我只是玩弄元素的可见性。例如:
OnCreate上的:EditText1.setVisibility(GONE);
然后在OnClickListener实现上:
private OnClickListener onShow = new OnClickListener() {
public void onClick(View v) {
EditText1.setVisibility(VISIBLE);
}
}
这将在创建活动时隐藏您的EditText(或任何您想要的元素),然后在按下按钮时再次显示它们。
上述方法更容易,对我的大多数项目来说似乎足够了。但是,如果我们真的想要动态添加元素,那么就有办法。
我们基本上可以动态地将任何元素添加到我们的xml布局中。但是我们需要在xml布局中使用一个元素(容器)来保存我们添加的元素。例如,我们使用一个空的LinearLayout与android:id =" @ + id / container"。考虑到这一点,这意味着我们可以从头开始动态构建所有内容和setContentView(ourView),其中myView是添加了其他子元素的根元素。
示例:
EditText newElement = new EditText(this);
newElement.setLayoutParams(params);
LinearLayout container = (LinearLayout)findViewById(R.id.container);
container.addView(newElement);
注意:这只是一个伪代码,而不是完整的代码。