Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当sqlite数据库发生更改时刷新listview内容_Android_Sqlite - Fatal编程技术网

Android 当sqlite数据库发生更改时刷新listview内容

Android 当sqlite数据库发生更改时刷新listview内容,android,sqlite,Android,Sqlite,我正在从sqlite数据库中获取我的Listview数据,如下所示 ArrayAdapter<String> aa; ArrayList<String> arrayList = new ArrayList<String>(); aa = new ArrayAdapter<String>(getActivity(), R.layout.row_listview, array

我正在从
sqlite
数据库中获取我的
Listview
数据,如下所示

    ArrayAdapter<String> aa;
        ArrayList<String> arrayList = new ArrayList<String>();


    aa = new ArrayAdapter<String>(getActivity(),
                    R.layout.row_listview,  arrayList);
            setListAdapter(aa);
Cursor cursor8 = db.rawQuery("SELECT * FROM test21", null);
            if(cursor8.getCount() == 0)
            {


                textView5.setVisibility(View.VISIBLE);

            }cursor8.close();




                    Cursor cursor = db.rawQuery("SELECT * FROM test21", null);
                    //  Toast.makeText(myContext, ""+cursor.getCount(), Toast.LENGTH_LONG).show();
                    if(cursor.moveToFirst())

                    {
                        do {
                            arrayList.add(cursor.getString(3));




                           }
                        while (cursor.moveToNext());
                    }
ArrayAdapter aa;
ArrayList ArrayList=新的ArrayList();
aa=新的阵列适配器(getActivity(),
R.layout.row_列表视图,arrayList);
setListAdapter(aa);
游标cursor8=db.rawQuery(“从test21中选择*”,null);
if(cursor8.getCount()==0)
{
textView5.setVisibility(View.VISIBLE);
}游标8.close();
Cursor Cursor=db.rawQuery(“SELECT*fromtest21”,null);
//Toast.makeText(myContext,“+cursor.getCount(),Toast.LENGTH_LONG.show();
if(cursor.moveToFirst())
{
做{
add(cursor.getString(3));
}
while(cursor.moveToNext());
}
当我单击另一个按钮时,它将删除
sqlitedatabase
的所有数据


我怎样才能刷新列表视图的内容,因为现在什么都没有了。每次我都需要回到
活动中:(

去掉notifyDataSetChanged()并在光标上调用requery()。下面是一个示例演示这一点


希望它对您有用。

使用带游标或适配器的加载程序。重新格式化您的代码!它无法读取…是的,但它表示requery已被删除:(当您的任何DML查询执行时,请再次重新初始化游标,请参阅此链接:-