【发布时间】:2011-02-11 19:36:53
【问题描述】:
我想刷新 Listview 项目。这些项目是从 SQLite 数据库填充的。我的代码在下面
public class Weeve extends Activity {
private String[] lv_arr;
protected ListView CView;
private DBAdapter mDbHelper;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mDbHelper = new DBAdapter(this);
mDbHelper.open();
Cursor c = mDbHelper.getAll();
if (c.getCount() > 0)
{if (c.moveToFirst())
{
ArrayList strings = new ArrayList();
do {
String mC = c.getString(0);
strings.add(mC);
} while (c.moveToNext());
lv_arr = (String[]) strings.toArray(new String[strings.size()]);
}
}
else Toast.makeText(this,
"No more Records",
Toast.LENGTH_SHORT).show();
c.close();
ListView CView = new ListView(this);
CView.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, lv_arr));
setContentView(CView);}}
我想在添加、更新或删除 SQLite 表后刷新此列表视图。这些操作由内容或选项菜单调用。我试图将这些代码创建为一个单独的函数,并在每次操作后调用它。但不能。我认为 setContentView(CView) 声明。
我还尝试使用 SimpleCursorAdapter,例如来自 Android.com 的记事本示例。我得到线程错误。帮帮我。
【问题讨论】: