【问题标题】:Android - Java - Predefined XML templates to use in codeAndroid - Java - 在代码中使用的预定义 XML 模板
【发布时间】:2019-06-12 18:35:36
【问题描述】:

我从 HTML/JavaScript 世界来到 Android 开发,但有一件事我仍然无法弄清楚。

是否有任何模板系统可用于 Java 中的 Android 开发?

我的意思是,当我在 HTML/Javascript 中创建布局时,我使用 Mustache.js 定义一次模板,然后在应用程序中使用它在应用程序中动态创建最终布局。

在 Java 中,当我想在循环中创建例如按钮时,我会这样做:

for (Int i = 0; i <= 5; i++ {
    Button button = new Button(mContext);
    button.set_some_parameter_here()
    button.set_some_other_parameter_here()
    etc()...

    layout.addView(button);
}

有什么方法可以在 XML 中预定义视图(或整个布局)(在 Java 循环中替换变量,如 Button 的 {text}),然后我只在循环中将此模板插入到最终布局视图组中?

我知道如何在 XML 中定义静态布局,请问有没有办法为将来的动态打印定义 XML。

谢谢。

一月

【问题讨论】:

    标签: java android xml loops templates


    【解决方案1】:

    如果您想要动态的按钮列表,您可以使用按钮的回收视图并根据需要处理每个按钮。

    查看RecyclerView Button Android Studio Example Get Click Position

    如果你想重用一个 xml 模板,你可以使用 include 关键字, 这是参考Re-using layouts with

    另一种使用预定义布局/视图的方法,您可以创建自定义视图(按钮)并设置它的属性然后使用它。查看下面的示例 - 您可以扩展 Button 并设置它的属性。

    public class CustomButton extends Button {
      // Set your parameters    
    
    }
    

    【讨论】:

    • 您还可以在 Java 代码中的另一个现有布局中扩展布局。
    • 感谢您的回答。实际上,按钮示例实际上只是示例,我的目标是在 XML 中预定义“更复杂”的视图并能够在代码中使用(动态地将数据绑定到它,以便我可以从中动态创建“我想要多少视图”预定义的 XML 模板)。我发现适配器可能是答案 - 至少根据这个 YT 教程:youtube.com/watch?v=1olQnH9bE2c :-) 谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多