对于我的项目,我需要一个动态添加和删除视图的功能(textedit或按钮等)。
我在Android“添加联系人”屏幕中看到了这个类似功能,其中加号按钮添加新字段,减号按钮删除字段。
我发现EditContactActitivity.java
是“添加联系人”背后的文件。
我试图找到按下加号或减号按钮时调用的方法,但无法找到它,似乎“添加联系人”代码在多个文件上传播。我无法理解Android源代码,因为文档不可用 有什么建议吗?
答案 0 :(得分:1)
您可以在对主要布局的引用上调用.add()
或.remove()
并传递您要添加或删除的视图来添加和删除视图;
这是一个简单的onCreate方法示例,演示了如何添加和删除按钮:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LinearLayout myMainLayout = (LinearLayout)findViewById(R.id.yourMainLayout);
Button b = new Button(this);
//you can have some b.setXXX calls here to set text, view, click listeners etc...
myMainLayout.add(b);
//to remove
myMainLayout.remove(b);
}
答案 1 :(得分:0)
我会考虑研究视图的可见性,而不是经历所有这些麻烦。例如。我有一个应用程序,我有一个“记录”输入屏幕相对简单,显示为Dialogs内容。一些视图/视图组目前正在使用已消失的可见性,根本不显示。如果用户编辑记录以添加更多细节,我将启动一个使用相同xml布局的Activity,但实例化一些当前“已消失”的视图并将其可见性更改为“可见”。
以编程方式轻松切换视图的可见性,因此我认为这是真正的方法。
我所知道的唯一限制是视图顺序或位置。