Java 在Android中动态创建/删除按钮

Java 在Android中动态创建/删除按钮,java,android,xml,user-interface,button,Java,Android,Xml,User Interface,Button,首先,如果这个答案已经在这里,我表示歉意,因为我已经搜索了几个星期,还没有找到任何东西 我正在开发一个Android应用程序,它需要允许用户创建和删除按钮。我知道如何通过将按钮添加到XML文件中并在JAVA文件中创建其功能来静态创建按钮 相反,我有一个静态按钮,我将其称为“创建按钮”。当用户按下“创建”按钮时,应向其提供向当前活动添加新按钮的选项,允许其在关闭应用程序并重新打开时更改所述按钮的标题等;他们添加的按钮应该仍然存在。同样,应该给它们一个删除按钮的选项 有人能给我指出正确的方向吗?我遇

首先,如果这个答案已经在这里,我表示歉意,因为我已经搜索了几个星期,还没有找到任何东西

我正在开发一个Android应用程序,它需要允许用户创建和删除按钮。我知道如何通过将按钮添加到XML文件中并在JAVA文件中创建其功能来静态创建按钮

相反,我有一个静态按钮,我将其称为“创建按钮”。当用户按下“创建”按钮时,应向其提供向当前活动添加新按钮的选项,允许其在关闭应用程序并重新打开时更改所述按钮的标题等;他们添加的按钮应该仍然存在。同样,应该给它们一个删除按钮的选项

有人能给我指出正确的方向吗?我遇到的大多数源代码只解释了如何静态创建按钮,就像我第一次提到的那样

谢谢你的帮助

编辑:根据我得到的反馈,我能够找出一些东西

到目前为止,我在onOptionsItemSelected()方法中有以下代码:

对于如何将其添加到布局中,我仍然有点困惑。主要是,我对findViewById调用感到困惑:

    RelativeLayout layout = (RelativeLayout)findViewById(R.id.?);
我应该使用哪个id?在应用程序的主XML文件中,布局本身没有ID。这只是一个“相对论”

编辑2:

事实上,我解决了这个问题。谢谢你的建议!我只需要在XML文件中为布局指定一个ID。我知道我可以给按钮等一个ID,但从来不知道我能够为实际的布局本身这样做

创建按钮-

Button myButton = new Button(this);
向其中添加文本-

myButton.setText("Push Me");
要使按钮可见,需要将其添加到如下视图中。也可以将其添加到静态创建的视图中-

LinearLayout ll = (LinearLayout)findViewById(R.id.buttonlayout);
LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);

ll.addView(myButton, lp);
拆卸按钮-

ll.removeView(myButton);
有关其他自定义设置,请选中


若您要创建多个按钮,那个么我建议设置id。这个示例说明了这一点


要使按钮在关闭应用程序后可见,您需要将数据存储在内存中。最简单的方法是保存按钮及其规格的记录,并在关闭应用程序之前保存它们。打开应用程序后,您可以读取存储的数据并相应地创建按钮


有关更多详细信息,请查看。

这是一个非常普通的问题。这表明您在提问之前没有进行过研究。如果您尝试搜索而不是直接在SOSee上提问,您可以轻松找到答案。请参阅:我发布了一个代码,您可以在其中看到如何动态添加、修改和删除视图。
ll.removeView(myButton);
ViewGroup mViewGroup = (ViewGroup) findViewById(R.id.main_layout_id);
mViewGroup.addView(yourButton, 0, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));