2017-08-16 73 views
1

在WPF中,我们可以定义一个数组并将其绑定到我们的xml。元素基于此数组的内容:然后自动生成Android根据数组生成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的这个可能

+0

@Vanna会调查它。我甚至不知道要搜索什么,但这肯定是一个不错的开始。 – Asperger

+0

@Vanna你的意思是? https://developer.android.com/reference/android/widget/ArrayAdapter.html – Asperger

回答

1

可以定义的XML文件,在res/values/strings.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

+0

很好的答案。我也很喜欢这些评论。 – Asperger