【问题标题】:How to hide widget text on android?如何在android上隐藏小部件文本?
【发布时间】:2011-04-16 12:57:59
【问题描述】:

我使用以下代码来更新文本:

RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);
views.setTextViewText(R.id.widget_counter, Long.toString(unreadRecordsCount));

但如果 unreadRecordsCount = 0,我该如何隐藏它?

【问题讨论】:

  • 我试过views.setInt(R.id.widget_counter, "setVisibility", 0); - 它不起作用。
  • setBoolean 也不起作用。

标签: android android-widget widget


【解决方案1】:

试试这个:

RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);
views.setTextViewText(R.id.widget_counter, Long.toString(unreadRecordsCount));
if (unreadRecordsCount == 0) {
    views.setViewVisibility(R.id.widget_counter, View.INVISIBLE);
}

【讨论】:

  • 或 View.GONE 而不是 INVISIBLE
  • Viev.GONE 清理剩余空间。就我而言,比View.INVISIBLE 工作得更好。
【解决方案2】:

我对@9​​87654322@s 并不完全熟悉,但通过 Android API 快速检查一下:RemoteView#setVisibility。我假设它像普通小部件的 setVisibility 一样工作。

【讨论】: