程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> xamarin SimpleAdapter綁定出錯問題,simpleadapter

xamarin SimpleAdapter綁定出錯問題,simpleadapter

編輯:C#入門知識

xamarin SimpleAdapter綁定出錯問題,simpleadapter


問題:今天在實驗xamarin中SimpleAdapter綁定到ListView時,出現閃退的現象,

見圖: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是很好,但這個也太坑了吧,非要面向接口,好歹弄個文檔說明一下。

 


Android SimpleAdapter錯誤解,先

如果 你用的是 listActivity的話 是不需要 setContentView()的,而且你的布局裡又有ListView,這樣肯定會報錯,會提示 找不到listview的id
 

android simpleadapter可以重新填充?怎清除?

你隨便放的什麼數據,把數據放進去後
SimpleAdapter simpleAdapter;
simpleAdapter.notifyDataSetChanged();
simpleAdapter.notifyDataSetInvalidated();
調這兩個方法,源碼在下邊,然後再通知adapter相對應的組件更新就可以啦。
/**
* Notifies the attached View that the underlying data has been changed
* and it should refresh itself.
*/
public void notifyDataSetChanged() {
mDataSetObservable.notifyChanged();
}

public void notifyDataSetInvalidated() {
mDataSetObservable.notifyInvalidated();
}
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved