将列表视图更新为特定项目位置

时间:2013-01-03 12:19:43

标签: android listview broadcastreceiver intentservice

我有一个接收器在意图服务完成服务器调用时广播,当接收器在onReceive中广播时,我已用新数据更新了列表视图。我想要的是在广播之前将项目的位置设置为列表中的最后一个元素。我尝试过使用setSelection()和smoothScrollToPosition(),但每次更新列表时,列表都会聚焦到第一个项目。

3 个答案:

答案 0 :(得分:2)

使用notifyDataSetChanged()更新列表视图。

答案 1 :(得分:0)

试试此代码

     mAdapter.notifyDataSetChanged();

其中mAdapter是您用于在ListView中填充数据的适配器对象。它只会更新您的ListView而不会专注于第一项。

答案 2 :(得分:0)

尝试此代码

listview.requestLayout(); listview.setSelectionFromTop(listview.getLastVisiblePosition() - 20,0);

这使得Listview从底部项目中选择