在Widget上设置TextView时启动器口吃

时间:2011-09-17 15:43:07

标签: android text widget launcher

基本上,过了一段时间我的小部件开始导致启动器口吃。在进行了一些分析,记录,注释以及刚好的旧视觉检查之后,我已经缩小了问题区域以更新小部件文本。这是我用来执行此操作的方法:

public static void setText(Context context, String text) {
  if (appWidgetManager == null)
    appWidgetManager = AppWidgetManager.getInstance(context);
  RemoteViews remoteViews = Widget.getView(context);
  ComponentName thisWidget = new ComponentName(context, Widget.class);
  remoteViews.setTextViewText(R.id.PrimaryWidgetButton, text);
  appWidgetManager.updateAppWidget(thisWidget, remoteViews);
}

奇怪的是,它开始引起延迟需要几分钟,好像这段代码有某种挥之不去的副作用。删除小部件会停止口吃,即使此代码仍在调用中。重新添加小部件会立即恢复口吃。

注意:只有在更改文本时才会发生口吃。因此,在更改文本后,启动器很好,但在调整过程中它会断断续续。

可能导致这种口吃的原因是什么?是否有更好的方法来更新小部件上的文本?

0 个答案:

没有答案