2013-06-20 34 views
1

我有我的ListAdapter刷新ListView控件與按鈕內部適配器

public class ListAdapter extends ArrayAdapter<Todo> implements OnCheckedChangeListener, OnClickListener 

@Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     .... 
    } 

ImageButton btn_delete = (ImageButton)rowView.findViewById(R.id.btn_delete); 
btn_delete.setId(position); 
btn_delete.setOnClickListener(this); 

裏面onClick()我刪除數據庫中的行(使用我的位置先前保存在視圖中)。 之後,我想看到我的ListView更新。 我應該在OnClick中使用哪條指令來做到這一點?我試過notifyDataSetChanged(),但它似乎不起作用。

SOLUTION

我只是刪除的行從數據庫中,但忘了更新適配器的值。完成之後,notifyDataSetChanged()完美無缺!

+0

你必須從數據庫中填充你的列表視圖...所以有一件事從你獲取你的值的地方做出特定的提示並在調用notifyDataSetChanged()之前調用它。 –

回答

0

如果您使用的是Internal SQLite database,則應使用CursorAdaperCursorLoader。這樣,您的應用程序不僅變得更具響應性,而且在數據庫中發生更改時也會自動更新列表視圖。

相關問題