xamarin SimpleAdapter绑定出错问题

王朝学院·作者佚名  2016-05-17
窄屏简体版  字體: 小  |  中  |  大  |  超大  

xamarin SimpleAdapter绑定出错问题问题:今天在实验xamarin中SimpleAdapter绑定到ListView时,出现闪退的现象,

见图:

解决方法:

SimpleAdapter中的构造函数public SimpleAdapter(Context context, IList<IDictionary<string, object>> data, int resource, string[] from, int[] to) 第二个构造参数IList<IDictionary<string, object>> data是一个借口,但是在创建Item的时候我使用了如下代码:

var data = new List<IDictionary<string, object>>();

IDictionary<string, object> item;

item = new Dictionary<string, object>(); item.Add("Name", "张三); item.Add("Sex", "Male"); data.Add(item);

修改后代码如下:

var data = new List<IDictionary<string, object>>();

IDictionary<string, object> item;

item = new javaDictionary<string, object>();item.Add("Name", "张三);item.Add("Sex", "Male");data.Add(item);

使用VS2012自带的Android Device Logging工具可以看见如下信息:

原因:

vs2012中无法使用代码检查出此问题,属于运行时问题,但是异常又无法正确抛出,通过Android Device Logging工具才能看见,原来是因为System.Collections.Generic.Dictionary无法在运行时转换为java.util.Map,而Android.Runtime.JavaDictionary可以,至于为什么无法转换,无非就是没有继承的关系.

Mono for android是很好,但这个也太坑了吧,非要面向接口,好歹弄个文档说明一下。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航