【问题标题】:Best way of showing Stream Data in Android Listview在 Android Listview 中显示流数据的最佳方式
【发布时间】:2011-10-07 13:55:00
【问题描述】:
我们正在尝试在列表视图上显示表格数据。数据由 8 列和大约 50 行组成。
在一秒钟内大约有 8 个更新数据到来。
(即:将 row2-column5 更新为某些内容。)
每次有新数据出现时,我们都会更新专用单元格并调用适配器的datasetchanged()
这会导致一些性能和滚动问题。
我的问题是:
在 Android 中使用标准小部件显示流数据的最佳方式是什么?
【问题讨论】:
标签:
android
performance
listview
stream
baseadapter
【解决方案1】:
您可以尝试只刷新需要更新的项目。为此,您需要数据在列表视图中的位置。
private void updateData(int position)
{
int firstItem = listView1.getFirstVisiblePosition();
View view = listView1.getChildAt(position - firstItem);
TextView tv = (TextView)view.findViewById(R.id.textview);
tv.setText("Example Text");
}
【解决方案2】:
我要么编写自己的 Cursor 并将其插入 CursorAdapter 和 AdapterView,要么......只需使用 MatrixCursor。 MatrixCursor 允许您添加新的“行”。然后你可以拨打onChange()通知View你的数据发生了变化。