對不起,我的英語不好,一個愚蠢的noob問題。 我有一個SimpleCursorAdapter和ListView與每個項目(數據庫中的行)上的按鈕。
我意識到刪除行但我不知道如何刷新ListView。
我希望有人能幫助我簡單明瞭的例子刪除數據庫行後刷新自定義光標適配器
我的適配器
public class MySimpleCursorAdapter extends SimpleCursorAdapter {
Context context;
public MySimpleCursorAdapter(Context contxt, int layout, Cursor c, String[] from, int[] to, int flags) {
super(contxt, layout, c, from, to, flags);
context=contxt;
}
public View newView(Context _context, Cursor _cursor, ViewGroup parent){
LayoutInflater inflater = (LayoutInflater) _context.getSystemService(_context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.listform_item, parent, false);
return view;
}
@Override
public void bindView(View view, Context Context, Cursor cursor) {
String name = cursor.getString(cursor.getColumnIndex(DBHelper.FORM_NAME));
String title = cursor.getString(cursor.getColumnIndex(DBHelper.FORM_TITLE));
TextView formname = (TextView)view.findViewById(R.id.tvFormName);
formname.setText(name);
TextView formtitle=(TextView)view.findViewById(R.id.tvFormTitle);
formtitle.setText(title);
ImageButton yourButton = (ImageButton)view.findViewById(R.id.ibtnDelete);
yourButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(view != null) {
Object obj = view.getTag();
//if(obj != null && obj instanceof Integer) {
dbForm form=new dbForm(context);
form.open();
String st=obj.toString();
form.deleteForm(Long.valueOf(st).longValue());
Toast.makeText(context, "Delete row with id = " + st, Toast.LENGTH_LONG).show();
}
}
});
Object obj = cursor.getString(cursor.getColumnIndex(DBHelper.FORM_ID));
yourButton.setTag(obj);
}
}
我也使用CursorLoader主進入電影數據庫
UPD:我使用使用遊標加載程序和一個不知道如何呼叫他在我的自定義適配器重置,希望有所幫助。
}
看看這個線程 http://stackoverflow.com/questions/2250770/how-to-refresh-android-listview –