我在appwidget上有一个按钮,需要通过服务以编程方式“启用”/“禁用”。如何以编程方式禁用Android上的onClick处理程序AppWidget按钮
第一个想法是致电setBoolean(R.id.buttonid, "setClickable", false)
来禁用它,但显然你不能远程调用setClickable
。
另一个想法是用rv.setTextViewText(R.id.buttonid, "")
从中删除文本标签,然后删除点击处理程序rv.setOnClickPendingIntent(R.id.buttonid, null)
。不幸的是,通过null
它导致NullPointerException
in android.app.ActivityThread.handleServiceArgs
是否有一些其他方式来以编程方式禁用/启用appwidget按钮?我可以拨打rv.setViewVisibility(R.id.buttonid, View.GONE)
来完全隐藏按钮,而不是禁用它。然而,这将完全打破整个小部件布局,我想避免它。
我现在使用的解决方案是隐藏按钮setViewVisibility
,并显示其他空白按钮,而不是像以前一样保留appwidget布局。