2017-08-16 76 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