在 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>
然后使用接收
getResources().getStringArray(R.array.planets_array);
但是没有
automatically generated based on the contents of this array
Android 中的类似方法。为此,您需要实现一个 ArrayAdapter
。
关于Android根据数组生成xml元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45714751/