我正在編寫一個活動,其中用戶必須能夠通過單擊「添加信息」按鈕(向上)動態添加項目(帶有代碼和說明的類)到列表視圖屏幕頂部)。最初,該列表視圖是空的。我做了一個自定義視圖(RowItem.axml),它將在Adapter GetView()調用中被誇大,以顯示特定行的相關信息。問題是在[添加信息]。點擊事件,我必須在列表中添加新項目: 的代碼是這樣的:如何在Monodroid中動態添加項目到列表視圖
void button_Click(object sender, EventArgs e)
{
AddNewItemToListView(listview.count);
}
void AddNewItemToListView(int count)
{
DataItem item = new DataItem();
item.Code = FindCode(count);
item.Description = FindDescription(count);
listview_adapter.Add(item); // !! HERE AN EXCEPTION IS THROWN: --> Java.Lang.UnsupportedOperationException:
listAdapter.NotifyDataSetChanged();
}
這裏是DataItem的定義:
public class DataItem
{
public string Code {get;set;}
public string Description {get;set;}
}
這裏是我的自定義接口的定義:
public class MyListAdapter: ArrayAdapter<DataItem>
{
// override code here (ex: GetView(..) ...)
整個一天,我一直在尋找一些例子網頁,但我只在Android中爪哇發現不MonoDroid的。在這些示例中,它們使用適配器的.Add方法(並且在大多數情況下使用簡單類型的適配器,如字符串或整數)。
我搞不清楚我做錯了什麼來得到這個異常。 (我發現的唯一的事情就是爲接下來的方法中添加Android.Widget.ArrayAdapter(我的祖先類)的定義:
Android.Widget.ArrayAdapter<T>.Add(T @object);
什麼是「@」,指的是使用的是我的異常有關這個「@」?我已經試過
listview_adapter.Add(@item); // STILL SAME EXCEPTION
請朝着正確方向的任何幫助將非常感謝。非常感謝你。
非常感謝答案先生。我會嘗試一下,讓你知道它是怎麼回事 – TheSoul 2013-03-24 09:47:08
那麼結果如何呢? – Cheesebaron 2013-04-01 22:35:22
嗨Cheesebaron。很抱歉回答這麼晚...很多項目要跟上。但是謝謝你的解決方案。它確實工作!非常感謝。 – TheSoul 2013-04-12 21:40:55