У меня есть кнопка на appwidget, которую мне нужно программно «включить» / «отключить» из службы.
Первой идеей было вызвать setBoolean(R.id.buttonid, "setClickable", false)
, чтобы отключить его, но, очевидно, вы не можете вызвать setClickable
удаленно.
Другая идея заключалась в том, чтобы убрать с него текстовую метку с помощью rv.setTextViewText(R.id.buttonid, "")
, а затем удалить обработчик щелчка на rv.setOnClickPendingIntent(R.id.buttonid, null)
. К сожалению, передача null
к нему вызывает NullPointerException
in in android.app.ActivityThread.handleServiceArgs
Есть ли другой способ программно отключить / включить кнопку appwidget? Я мог бы просто позвонить rv.setViewVisibility(R.id.buttonid, View.GONE)
, чтобы полностью скрыть кнопку вместо ее отключения. Это, однако, полностью разрушило бы весь макет виджета, и я хотел бы избежать этого.
Решением, которое я использую сейчас, является скрытие кнопки с setViewVisibility
и отображение другой пустой кнопки вместо макета сохранения приложения, как это было раньше.