2015-05-16 2 views
0

i'am получая мои данные Listview из sqlitedatabase как этотОбновить содержимое ListView, когда есть SQLite изменения базы данных

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()); 
        } 

Когда я нажимаю другую кнопку это удалить все данные sqlitedatabase.

Как можно refresh содержание listview, потому что в настоящее время ничего нет. Мне всегда нужно вернуться в activity каждый раз :(

+2

используйте Loaders with cursorAdapter. http://developer.android.com/guide/components/loaders.html – Raghunandan

+0

отформатируйте свой код! его нельзя прочитать ... – pskink

ответ

1

Избавиться от notifyDataSetChanged() и вызвать перезапрос() ваш курсор. Вот пример project демонстрирует это.

Надеется, что это будет для работы вы используете

+0

yep, но он говорит, что requery отвлекается :( – ouya

+0

снова повторите инициализацию курсора, когда ваш любой запрос DML выполняется, может ссылаться на эту ссылку: - http://stackoverflow.com/questions/7019517/unable-to-get-listview-to-refresh-fro м-база/7020582 # 7020582 – InsaneCat

Смежные вопросы