我正在尝试创建一个表单,当用户单击LinearLayout
包含 aTextView
和 2的按钮时,该表单可以添加其他字段EditText
。类似于联系人应用程序。任何人都可以推荐一个教程或示例吗?
问问题
7358 次
2 回答
2
创建一个包含您想要的动态视图的线性布局,创建一个您想要动态添加的布局文件,创建一个用于将该布局膨胀到您的活动的类,并使用其对象获取视图并将其添加到该框(其中的布局你想要动态视图)。你可以这样走。
public class BoxView {
private Context context;
private TextView tv;
private EditText edt;
private Button btn;
private View v;
public BoxView(Context context) {
// TODO Auto-generated constructor stub
this.context= context;
init();
}
private void init() {
// TODO Auto-generated method stub
LayoutInflater inflator= LayoutInflater.from(context);
this.v= inflator.inflate(R.layout.sample_layout, null);
this.tv=(TextView)v.findViewById(R.id.textView1);
this.edt=(EditText)v.findViewById(R.id.editText1);
this.btn=(Button)v.findViewById(R.id.button1);
}
public View getView(){
return v;
}
public void setTv(TextView tv) {
this.tv = tv;
}
public TextView getTv() {
return tv;
}
public void setEdt(EditText edt) {
this.edt = edt;
}
public EditText getEdt() {
return edt;
}
public void setBtn(Button btn) {
this.btn = btn;
}
public Button getBtn() {
return btn;
}
}
在您的活动中,您可以这样做:
LinearLayout layout=(LinearLayout)findviewbyId(R.id.layout1);
BoxView box=new BoxView(context);
layout.addView(box.getView);
于 2012-06-22T06:38:19.203 回答
2
您可以通过将新组件添加到 xml 中定义的父布局来添加新组件(您可以通过为其提供 id 来引用该布局,并通过在您的活动中使用它来访问它,您将LinearLayout linearLayout = findViewById(R.id.idOfLayout);
获得LinearLayout
该父布局,您可以通过动态向其添加另一个布局创建它们)
这里有一些链接可以帮助您了解在 Android 中动态添加和删除组件
于 2012-06-22T06:41:53.503 回答