CSharp Android Xamarin SQL ListView
CSharp Android Xamarin SQL ListView
我正在尝试从 SQL 查询中读取内容并将它们存储到 listView (Android-C#) 中。无论出于何种原因,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;
}
For whatever reason the listView is only showing the last item.
因为在 while
中每次创建新的 Text
数组并传递给 ArrayAdapter
所以最后是数组数据显示在 ListView 中。
要显示 ListView
中的所有项目,请在 while
循环外创建 Adapter 对象并使用 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;
我正在尝试从 SQL 查询中读取内容并将它们存储到 listView (Android-C#) 中。无论出于何种原因,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;
}
For whatever reason the listView is only showing the last item.
因为在 while
中每次创建新的 Text
数组并传递给 ArrayAdapter
所以最后是数组数据显示在 ListView 中。
要显示 ListView
中的所有项目,请在 while
循环外创建 Adapter 对象并使用 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;