【发布时间】:2010-04-15 17:20:42
【问题描述】:
我在 appwidget 上有一个按钮,我需要以编程方式从服务中“启用”/“禁用”。
第一个想法是调用setBoolean(R.id.buttonid, "setClickable", false) 来禁用它,但显然你不能远程调用setClickable。
另一个想法是使用rv.setTextViewText(R.id.buttonid, "") 从中删除文本标签,然后使用rv.setOnClickPendingIntent(R.id.buttonid, null) 删除点击处理程序。不幸的是,将null 传递给它会导致NullPointerException 进入android.app.ActivityThread.handleServiceArgs
还有其他方法可以以编程方式禁用/启用 appwidget 按钮吗?我可以打电话给rv.setViewVisibility(R.id.buttonid, View.GONE) 来完全隐藏按钮而不是禁用它。然而,这将完全破坏整个小部件布局,我想避免它。
我现在使用的解决方案是用setViewVisibility 隐藏按钮并显示其他空白按钮,而不是像以前一样保持appwidget 布局。
【问题讨论】:
标签: android layout android-widget