Просмотр списка Android удаляет данные, но просмотр списка не обновляется - PullRequest
0 голосов
/ 16 сентября 2018

Я удаляю данные в SQLi, но список не обновляется. Я должен открыть активность agian, тогда listview обновится.

Это функция удаления данных.

private void delData(int position) {


    cursor.moveToPosition(position);
    String rowId = cursor.getString(0);
    db.delete(DBHelper.TABLE_NAME, "_id = ?", new String[]{rowId});

    cursor.requery();
    adapter.notifyDataSetChanged();

}

Это функция OnItemClick в OnCreate.

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_driver);

    dbHelper = new DBHelper(DriverActivity.this);

    lv_driver=(ListView)findViewById(R.id.lv_driver);
    lv_driver.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

            delData(i);

        }
    });
}

Как обновить просмотр списка после удаления данных?

1 Ответ

0 голосов
/ 16 сентября 2018

Я удаляю данные в SQLi, но ListView не обновляю.Я должен снова открыть активность, затем ListView обновится.

Да, это нормально, вы удаляете элемент из SQLite, а не из вашего ListView.

Какобновить ListView после удаления данных?

Вы можете воссоздать ListView или просто удалить свой элемент adapter.remove(position);

Пример:

private void delData(int position) {
    cursor.moveToPosition(position);
    String rowId = cursor.getString(0);
    db.delete(DBHelper.TABLE_NAME, "_id = ?", new String[]{rowId});   
    cursor.requery();
    adapter.remove(position);
    adapter.notifyDataSetChanged();

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