我在appwidget上有一个Button,我需要从服务中以编程方式"启用"/"禁用".
第一个想法是打电话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布局.