首先,我很抱歉如果这个答案已经在这里,因为我已经搜索了几个星期,还没有找到任何东西.
我正在开发一个Android应用,该应用需要允许用户创建和删除按钮.我知道如何通过将按钮添加到XML文件并在JAVA文件中创建其功能来正常静态地创建按钮.
相反,我有一个静态按钮,我将其称为“创建按钮”.当用户按下“创建按钮”时,应为他们提供将新按钮添加到当前活动的选项,允许他们更改该按钮的标题等.他们添加的按钮应该仍然存在.同样,应为他们提供删除按钮的选项.
有人可以指出我正确的方向吗?就像我第一次提到的那样,我遇到的大多数资源都只解释了如何静态创建按钮.
谢谢您的帮助!
编辑:我能够根据我得到的反馈找出一些东西.
到目前为止,我在onOptionsItemSelected()方法中具有以下代码:
if (id == R.id.add_button)
{
Button myButton = new Button(this);
myButton.setText("Push Me");
//myButton.setVisibility(View.VISIBLE);
return true;
}
我对如何将其添加到布局仍然有些困惑.主要是,我对findViewById调用感到困惑:
RelativeLayout layout = (RelativeLayout)findViewById(R.id.?);
我应该使用哪个ID?在应用程序的主XML文件中,布局本身没有ID.这只是一个“ RelativeLayout”.
EDIT2:
实际上,我解决了这个问题.谢谢你的建议!我只需要在XML文件中给我的布局一个ID.我知道我可以给按钮等一个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. This的例子很清楚.
为了在关闭应用程序后使按钮可见,您需要将数据存储在内存中.最简单的方法是保持按钮及其规格的记录并在关闭应用程序之前存储它们.打开应用程序后,您可以读取存储的数据并相应地创建按钮.
有关更多详细信息,请检查Data Storing.
标签:android,java,user-interface,xml,button
来源: https://codeday.me/bug/20191013/1905435.html