Android基于数组生成xml元素

时间:2017-08-16 13:20:37

标签: android xml android-layout

在WPF中,我们可以定义一个数组并将其绑定到我们的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中有类似可能的内容吗?

1 个答案:

答案 0 :(得分:1)

您可以在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);

但没有

  

根据此数组的内容自动生成

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

More about ArrayAdapter