2010-07-14 53 views
2

我有我的自定義視圖從我的適配器填充ListView。每個視圖都有兩個按鈕,一個用於啓動另一個活動來編輯該列表項目的內容,另一個用於刪除該項目。應該在哪裏處理listview中的數據更改事件?

我的問題是我的ClickEvent這些按鈕的處理程序應該在哪裏?我是否應該將它們放在我的自定義視圖代碼中,因爲我擁有我需要的所有信息?我應該啓動一個ASyncTask刪除項目並更新適配器數據並調用onDataSetChanged()等?

是否所有這些都會通過事件冒泡到我的ListActivity?

我可以讓它在任何級別上工作,但沿着這個層次(Activity-> ListView-> Adapter-> ListItemView)的級別是編輯/刪除ListView的後備數據的適當位置嗎?

回答

0

我做這種方式:

  • Adapter■找該做他們的工作,並呼籲在年底notifyDataSetChanged()底層數據操作(例如public void deleteItem(int position))公共方法;
  • Activity在本地變量中保留對其的Adapter的引用;
  • Listener s通常創建爲Activity的匿名內部類,調用適當的Adapter方法。
相關問題