当我在模拟器中测试我的应用时,联系人列表就出来了。但是当我在设备中测试联系人列表时没有显示。我正在使用HTC雷达。 这是我的代码片段:
AddressChooserTask addressTask;
public ContactsPage()
{
InitializeComponent();
addressTask = new AddressChooserTask();
addressTask.Completed += new EventHandler<AddressResult>(addressTask_Completed);
}
void addressTask_Completed(object sender, AddressResult e)
{
if (e.TaskResult == TaskResult.OK)
{
string displayName = e.DisplayName;
Contacts contacts = new Contacts();
contacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(contacts_SearchCompleted);
contacts.SearchAsync(displayName, FilterKind.DisplayName, null);
}
}
private void btnChooseContacts_Click(object sender, RoutedEventArgs e)
{
addressTask.Show();
}
请有人让我摆脱这个问题!提前谢谢!
答案 0 :(得分:0)
你做了很多奇怪的事情 1,你在foreach循环中一遍又一遍地分配同一个对象。因此,如果最后一项为空白,则生成的文本框将为空白 2,您正在尝试引用可能为null的属性。 FirstOrDefault()可以返回null,因此检查它 3。你真的应该使用数据绑定并将结果绑定到列表框(或其他数据表可导入的UI元素)。