Android:通过控制器添加带有 ids/onclick 的新布局元素

Posted

技术标签:

【中文标题】Android:通过控制器添加带有 ids/onclick 的新布局元素【英文标题】:Android: Adding new layout-elemnts with ids/onclick through controller 【发布时间】:2020-10-22 07:35:14 【问题描述】:

假设我确实有以下 XML 文件:

<LinearLayout > //Three Buttons
  <Button>Barcode</name>
  <Button>Ok</wert>
  <Button>Ok</wert>
</LinearLayout >
<TextView/>
<TextView/>
<EditText/>
<EditText/>

假设通过解析,我发现有:3 个按钮、2 个 TextViews 和 2 个 EditTexts。

问题

    如何将这些 元素 添加到另一个 XML 文件中,每个元素都有一个 ID,onClick-Event(都是手动选择的)?

    如何给Controller添加相应的onClick事件?

我第一次尝试的(在从相应的 XML 文件中找到一个元素后):

LinearLayout cst = (LinearLayout) findViewById(R.id.idAttachmentLayout);//The id of the Page where the Elements should be added
Button btn = new Button(this);
btn.setText("Hallo Welt");

cst.addView(btn);

问题:

向上

【问题讨论】:

【参考方案1】:

要访问R.id.idAttachmentLayout,您需要先设置/定义您所在的内容

活动中onCreate

setContentView(R.layout.your_xml);

在片段onCreateView

View view = inflater.inflate(R.layout.your_xml, container);

然后您可以访问您的R.id.idAttachmentLayout 在带有view.findViewById(R.id.idAttachmentLayout)的片段中

您可以使用btn.setOnClickListener()添加点击事件

添加到视图是你的权利,你只需要在正确的时间访问视图

【讨论】:

以上是关于Android:通过控制器添加带有 ids/onclick 的新布局元素的主要内容,如果未能解决你的问题,请参考以下文章

在每个子项中添加带有EditTexts的ListView - Android Studio

添加新文档时,kotlin firestore 未更新我的 android 应用程序

在 UINavigationController 中添加带有标题的图像

带有 RTSP 源的 Android Google VrVideoView

单击一行后,Extjs 4 网格自定义添加一个带有文本字段的面板

是否可以通过带有自定义控件的浏览器来控制 spotify 桌面客户端?