2012-08-04 11 views
5

Estoy implementando un widget de aplicación y me gustaría poder cambiar la propiedad de una sola vista en el diseño del widget, sin reconstruir todo el RemoteViews desde cero, lo que implica cargar XML, etc. y que no es necesario en algunas circunstancias. ¿Hay alguna manera de decir "actualizar la propiedad X en la vista identificada por un ID específico en el diseño actual del widget"? He visto que hay un método partiallyUpdateAppWidget en la clase AppWidgetManager, pero no puedo entender ni si es para este propósito ni cómo debe usarse ... ¿Pueden ayudarme o señalarme un enlace o ejemplo útil?Cómo actualizar vistas parcialmente en un widget de aplicación sin reconstruir todas las RemoteViews

Respuesta

3

Sí, puede usar el método partiallyUpdateAppWidge t en la clase AppWidgetManager. A modo de ejemplo, si desea actualizar una vista de texto dentro de un widget:

AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); 
rv = new RemoteViews(context.getPackageName(), R.layout.widgetlayout); 
rv.setTextViewText(R.id.ofTextViewInWidgetLayoutXML, "Hello World"); 
appWidgetManager.partiallyUpdateAppWidget(appWidgetIds, rv); 

Ref: Just update a widget RemoteViews instead of completly creating a new one?

Cuestiones relacionadas