Estoy tratando de crear un AppWidget, en el que el color de fondo de un TextView cambia al azar en un intervalo periódico específico.Android AppWidget TextView: cómo establecer el color de fondo en tiempo de ejecución
La TextView se define en el archivo xml diseño que
<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/message"
android:background="#ff99ff"
android:text="Hello Widget" />
</LinearLayout>
En el método de actualización, he cargado el diseño como
RemoteViews remoteView=new RemoteViews(context.getPackageName(),R.layout.widget_message);
Para cambiar el fondo de la Vista de Texto i utiliza la siguiente declaración
remoteView.setInt(R.id.message, "setBackgroundResource", R.color.col_1);
Pero me aparece un widget que dice Widget de carga problemática. Si elimino la línea anterior todo funciona bien.
LogCat dice:
updateAppWidget no pudo encontrar ningún punto de vista , usando vista de error
android.widget.RemoteViews $ ActionException: vista: android.widget.TextView no puede uso método con el RemoteViews: setBackgroundResource (int)
Exactamente. Solo puede usar métodos que tengan la anotación @RemotableViewMethod –