I had the same problem lately, and I found that remoteView.setBoolean () with the method name setEnabled does not work either.
using
remoteViews.setBoolean(R.id.textView_life_id, "setEnabled", true);
will get an error like this
W/AppWidgetHostView: updateAppWidget couldn't find any view, using error view android.widget.RemoteViews$ActionException: view: android.widget.TextView can't use method with RemoteViews: setEnabled(boolean) at android.widget.RemoteViews$ReflectionAction.apply(RemoteViews.java:1134) at android.widget.RemoteViews.performApply(RemoteViews.java:2304) at android.widget.RemoteViews.apply(RemoteViews.java:2263) at android.appwidget.AppWidgetHostView.updateAppWidget(AppWidgetHostView.java:402) at com.android.launcher2.LauncherAppWidgetHostView.updateAppWidget(LauncherAppWidgetHostView.java:54) at android.appwidget.AppWidgetHost.updateAppWidgetView(AppWidgetHost.java:434) at android.appwidget.AppWidgetHost$UpdateHandler.handleMessage(AppWidgetHost.java:102) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:138) at android.app.ActivityThread.main(ActivityThread.java:5089) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) at dalvik.system.NativeStart.main(Native Method)
Finally, I found the answer that only the method in the SDK with @ android.view.RemotableViewMethod can be used in remoteview.
like
@android.view.RemotableViewMethod public final void setText(CharSequence text) { setText(text, mBufferType); }
then you can use views.setCharSequence (R.id.textView, "setText", "Test");
source share