【问题标题】:Android: Updating a ListView when the content of a SearchView is changed with results from Google Places APIAndroid:当 SearchView 的内容随 Google Places API 的结果发生变化时更新 ListView
【发布时间】:2014-12-15 00:23:20
【问题描述】:

当 SearchView 的值发生更改时,我正在尝试使用 Google Places API 更新 ListView。更新列表视图时出现问题。

这是我的课,SearchFragment。 https://gist.github.com/anonymous/d5fc885cca8426736888

onListItemClick 获取用户点击的item的经纬度,并使用fragment的公共接口,传递给activity。

问题在于 ListView 包含不在预测列表中的项目,即使我每次都使用返回的预测列表来更新 ListView。如果我点击第一个以外的东西,它会返回错误的坐标,或者索引超出预测列表的范围,导致 onListItemClick 的第一行出现空指针异常。

看起来我并没有以最干净的方式解决这个问题。有人可以指出正确的方向吗?

【问题讨论】:

    标签: java android android-listview google-places-api android-search


    【解决方案1】:

    当再次调用“onQueryTextChange”时,你应该取消之前的请求。

    【讨论】:

    • 谢谢,这是有道理的。如果我慢慢编辑 SearchView,以便每个查询都有机会完成,它会按预期工作。我似乎无法弄清楚取消前一个线程并阻止它更新视图。你对此有什么建议吗?
    • 我厌倦了这个,我也遇到了同样的问题。这感觉很乱,所以我想弄清楚如何使用自定义的 ArrayAdapter 来处理它,或者在我理解了这一点之后使用不同的东西。 gist.github.com/anonymous/9be6de0e68f98235ed48
    • 你可以使用'volley'。以前使用过该库,它非常方便,尤其是对于您的方法。 developer.android.com/training/volley/index.html
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多