【问题标题】:The content of the adapter has changed but ListView did not receive a notification. [duplicate]适配器的内容发生了变化,但 ListView 没有收到通知。 [复制]
【发布时间】:2017-04-24 18:06:08
【问题描述】:

我有带有自定义 BaseAdapter 的列表视图,我有来自 Web 服务的菜单列表并使用线程(在后台)存储在 SQLite 数据库中,因此主线程不会挂起,性能会提高,但同时从主线程设置适配器线程,应用程序崩溃。通过本文标题中提到的异常。我该如何解决请帮忙。

【问题讨论】:

    标签: android


    【解决方案1】:

    你可以试试 Adapter.notifyDataSetChanged();像这样更新您当前的列表 >>>

    List<Item> new= databaseHandler.getItems();
    Adapter.clear();
    Adapter.addAll(new);
    Adapter.notifyDataSetChanged();
    databaseHandler.close();
    

    【讨论】:

      【解决方案2】:

      如果您使用 AsyncTask 进行后台操作,请在“onPostExecuted”方法中执行此操作:

      -> 重新初始化适配器并将其设置为列表 list.setAdapter(适配器);

      ->并设置这个 . 适配器.notifyDataSetChanged();

      【讨论】:

        猜你喜欢
        • 2014-06-21
        • 1970-01-01
        • 2015-05-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多