Обновление listView и адаптера после обновления базы данных - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть внешняя база данных, и я должен обновить базу данных с помощью метода обновления `

public long updateInfo(ModelInsertInfo modelInsertInfo) 
{
    SQLiteDatabase db = getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put(KEY_ID,modelInsertInfo.getId());
    values.put(KEY_yearWater, modelInsertInfo.getYearWater());
    values.put(KEY_MonthWater, modelInsertInfo.getMonthWater());
    values.put(KEY_DayWater, modelInsertInfo.getDayWater());
    values.put(KEY_HourWater, modelInsertInfo.getHourWater());
    values.put(KEY_MinWater, modelInsertInfo.getMinWater());
    return db.update(TABLE_Insert_Info, values, "" + KEY_ID + "= " + 
    modelInsertInfo.getId() + "", null);
}

база данных обновлена, но ничего не изменилось ни в списке, ни в активности. Моя внутренняя активность получила идентификатор от клика на элементе listview, и я обновил базу данных из внутренней активности.

Я использовал это

@Override
protected void onResume()
{
    super.onResume();
    adapterListView.notifyDataSetChanged();
    listView.deferNotifyDataSetChanged();
    listView.invalidateViews();
    clearPref();
}

И это в onCreate()

adapterListView.notifyDataSetChanged();
adapterListView.notifyDataSetInvalidated();
listView.invalidateViews();

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

После обновления базы данных либо обновите список, добавив новое значение, либо очистите список и получите значение из базы данных в список. и затем передайте adapterListView.notifyDataSetChanged ();

0 голосов
/ 13 ноября 2018

Во-первых, я рекомендую использовать RecyclerView вместо ListView.Во-вторых, вы можете удалить методы обновления из обратных вызовов onCreate () и onResume () и просто установить параметры обновления для адаптера RecyclerView и notifyDataSetChanged.Используйте getter from databese после обновления базы данных для обновления элементов RecyclerView.

Документация RecyclerView: https://developer.android.com/guide/topics/ui/layout/recyclerview

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...