我在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佈局。