devin_lxs 2015-08-05 09:18 采纳率: 0%
浏览 1612

listview滑动到底部后,在向上滑动时候正常,但是当手松开后listview又自动回到了底部

listview滑动到底部后,在向上滑动时候正常,但是当手松开后listview又自动回到了底部。这样是不是不正常?可能出现的原因是什么?不好意思没分了
AbsListView.OnScrollListener listScrollListener = new OnScrollListener() {

    @Override
    public void onScroll(AbsListView view, int firstVisibleItem,
            int visibleItemCount, int totalItemCount) {
        // TODO Auto-generated method stub
        if(firstVisibleItem + visibleItemCount == SearchMod.Instance().getBeginId())
            updateList();
    }

    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) { 
        // TODO Auto-generated method stub

    }
};

private void updateList() {
SearchMod.Instance().MakeCategoryPoiList();
SearchResults searchResults = new SearchResults();
SearchMod.Instance().getResultList(searchResults);
if (resultList != null && resultList.size() > 0) {
SimpleAdapter simple_adapter = (SimpleAdapter) lvResult
.getAdapter();
simple_adapter.notifyDataSetChanged();
}

}
问题出现在了最后一行代码
  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-04 03:58
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题可能是因为在更新listview时,没有正确地更新adapter中的数据。这可能导致listview的滚动行为不稳定。

    要解决这个问题,你需要确保在updateList方法中调用adapter的数据适配器(SimpleAdapter)的方法来更新列表视图的内容。例如:

    private void updateList() {
        SearchMod.Instance().MakeCategoryPoiList();
    
        SearchResults searchResults = new SearchResults();
    
        SearchMod.Instance().getResultList(searchResults);
    
        if (searchResults.getResults() != null && !searchResults.getResults().isEmpty()) {
            SimpleAdapter simpleAdapter = new SimpleAdapter(
                    this, searchResults.getResults(),
                    R.layout.list_item_result,
                    new String[]{R.id.text1}, new int[]{R.id.image});
            lvResult.setAdapter(simpleAdapter);
        }
    }
    

    在这个例子中,我们首先创建了一个新的SimpleAdapter实例,并将搜索结果的数据绑定到它上面。然后,我们将这个新创建的SimpleAdapter设置为列表视图的适配器。

    这样,当你滚动列表并重新加载数据时,你的listview应该能够保持正确的滚动位置。

    评论

报告相同问题?