2015-02-12 23 views
0

我試圖從SQL查詢中讀取內容並將它們存儲到listView(Android-C#)中。無論出於何種原因,listView只顯示最後一項。當我通過代碼進行調試時,發現它正在經歷每個結果,但是,我無法讓適配器顯示所有結果。也許我在做適配器錯誤的事情。有任何想法嗎?CSharp Android Xamarin SQL ListView

代碼:

while (rdr.Read()) { 

        string[] Text = new string[] { (rdr[0])+ System.Environment.NewLine} ; 
        ListView mylistview = FindViewById<ListView> (Resource.Id.listView1); 
        var myAdapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleListItem1 , Text); 
        mylistview.Adapter = myAdapter; 
         } 

回答

1

無論出於何種原因ListView控件只顯示最後一個項目。

由於while創建的每個新時間陣列Text並傳遞到ArrayAdapter所以最後是數組數據ListView中示出。

顯示所有項目在ListView,外while循環創建適配器對象,並使用ArrayList將根據數據規模的擴大:

ArrayList listText = new ArrayList(); 
while (rdr.Read()) { 
    listText.add((rdr[0])+ System.Environment.NewLine); 
} 
ListView mylistview = FindViewById<ListView> (Resource.Id.listView1); 
var myAdapter = new ArrayAdapter(this, 
           Android.Resource.Layout.SimpleListItem1,listText); 
mylistview.Adapter = myAdapter; 
+0

謝謝你,我知道這是一個愚蠢的錯誤。順便說一下,我不得不使用var listText = new List ();而不是ArrayList。再次感謝! – user2953714 2015-02-12 06:10:57