在Android Listview中显示流数据的最佳方式

时间:2011-07-18 10:35:44

标签: android performance listview stream baseadapter

我们正在尝试在列表视图中显示表格数据。数据由8列和大约50行组成。 在一秒钟内,大约有8个更新数据到来。 (即:将row2-column5更新为某些内容。) 每当有新数据出现时,我们都会更新专用单元格,并调用适配器的datasetchanged() 这会导致一些性能和滚动问题。

我的问题是:
使用标准小部件在Android中显示流数据的最佳方式是什么?

2 个答案:

答案 0 :(得分:2)

您可以尝试仅刷新需要更新的项目。为此,您需要列表视图中数据的位置。

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");
}

答案 1 :(得分:0)

我要编写自己的Cursor并将其插入CursorAdapter和AdapterView,或者......只需使用MatrixCursor。 MatrixCursor允许您添加新的“行”。然后,您可以致电onChange()通知查看您的数据已更改。