如何通过服务android更新listview中的文本(单一视图)

时间:2012-03-23 09:10:17

标签: android android-listview android-service

我有一个包含图像和文本的列表,文本每1-2秒更改一次。我有一个自定义适配器类,它扩展了BaseAdpater类。我想仅更新textview中的listrow作为数据更改。

我正在使用在活动开始时登记的广播接收器,并且每隔2秒发回一次想要在列表视图中显示的结果。

问题是,当我致电notifyDataSetChanged时,整个listview会刷新,包括图标和另一个textview并挂起1-2秒。存在很大的性能问题。

请提出建议我该如何处理?

1 个答案:

答案 0 :(得分:2)

你可以试试这个:

private void updateSingleRow(int listrow, String newText){
  View view = yourListView.getChildAt(listrow - yourListView.getFirstVisiblePosition());
  TextView yourText = (TextView) view.findViewById(R.id.yourId);
  yourText.setText(newText);
}