Android根据数组生成xml元素

标签 android xml android-layout

在 WPF 中,我们可以定义一个数组并将其绑定(bind)到我们的 xml。然后根据这个数组的内容自动生成元素。:

public partial class MainWindow : Window {
    public MainWindow() { 
        InitializeComponent(); 
        this.DataContext = this;
    } 

    ObservableCollection<int> sampleData = new ObservableCollection<int>();
    public ObservableCollection<int> SampleData {
        get {
            if (sampleData.Count <= 0) {
                sampleData.Add(1);
                sampleData.Add(2);
                sampleData.Add(3);
                sampleData.Add(4);
            }
            return sampleData;
        }
    }
}


<Window x:Class="Sandbox.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
    <Grid>
        <ListBox ItemsSource="{Binding Path=SampleData}"/>
    </Grid>
</Window>

Android 中有这样的可能吗?

最佳答案

您可以在 res/values/strings.xml 中定义一个 XML 文件,使用以下方法定义您的数组成员:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="planets_array">
        <item>Mercury</item>
        <item>Venus</item>
        <item>Earth</item>
        <item>Mars</item>
    </string-array>
</resources>

More about array resource

然后使用接收

getResources().getStringArray(R.array.planets_array);

但是没有

automatically generated based on the contents of this array

Android 中的类似方法。为此,您需要实现一个 ArrayAdapter

More about ArrayAdapter

关于Android根据数组生成xml元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45714751/

相关文章:

android - 绘制路径和硬件加速

android - 如何使 ListView 中的 ImageView 可点击

java - 如果在 SAX 中设置 setNamespaceAware(true),如何获取 "xmlns:XXX"属性?

ruby - 使用 Nokogiri 获取元素中包含特定属性名称的所有节点

android - 如何从服务器检索base64字符串(大图)到android

java - Firebase Cloud Function onWrite 完成后,如何触发 Android 客户端回调?

android - 从 FirebaseMessagingService 重新加载 Webview

xml - 使用 XSLT 映射 XML 数据

android - Gmail 应用程序如何实现其平面 View 层次结构?

android - ScrollView 中 LinearLayout 下方的 RecyclerView