【问题标题】:unable to refresh data in listview无法刷新列表视图中的数据
【发布时间】:2012-11-09 02:56:58
【问题描述】:

我正在尝试从我的数据库中检索所有成员数据,然后将其显示在列表视图上并且它能够工作。

现在我正在尝试搜索特定成员,并且我设法检索了记录(登录到 logcat),但它没有相应地刷新我的列表视图。

这是我用来检索搜索记录的列表视图代码。

            SimpleAdapter simpleAdapter = new SimpleAdapter(Search.this, productsList, R.layout.list_item, new String[] {TAG_COMPANY},
                    new int[] { R.id.name});
            lv = (ListView) findViewById(R.id.lst_name);
            lv.setAdapter(simpleAdapter);

【问题讨论】:

  • adapter.notifyDataSetChanged();搜索后试试这个。
  • 放置“adapter.notifyDataSetChanged();”经过我的搜索然后仍然使用上面的代码来检索它?或者..
  • 你有一个edittext,你想搜索listview??如果是这种情况,请使用自定义过滤器。以下答案应该对您有所帮助。也看看这个链接stackoverflow.com/questions/13090046/…。但是 adapter.notifyDataSetChanged();用于刷新列表视图。

标签: android listview


【解决方案1】:

这是因为。您需要让ListView 知道您的数据发生了变化。要通知ListView有关更改,您需要致电:

simpleAdapter.notifyDataSetChanged();

如果由于某种原因它不起作用,您还可以重新分配ListView的适配器:

simpleAdapter = new SimpleAdapter(...);
lv.setAdapter(yourAdapter);
simpleAdapter.notifyDataSetChanged();

【讨论】:

    【解决方案2】:

    检查这些链接。通常它是向前紧张的。只需创建一个 Textwatcher 并将适配器绑定到更改的文本。或者你也可以实现filterable接口,说android:textFilterEnabled为true。

    link 1

    link 2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-29
      • 2018-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多