2012-08-04 8 views
5

Implementuję widżet aplikacji i chciałbym móc zmienić właściwość pojedynczego widoku w układzie widżetu, bez odbudowywania wszystkich RemoteViews od zera, co wiąże się z ładowaniem XML itp. i które nie jest konieczne w pewnych okolicznościach. Czy istnieje sposób na powiedzenie "zaktualizuj właściwość X w widoku zidentyfikowanym przez konkretny identyfikator w bieżącym układzie widżetów"? Zauważyłem, że istnieje metoda partiallyUpdateAppWidget w klasie AppWidgetManager, ale nie mogę zrozumieć, ani jeśli jest ona przeznaczona do tego celu ani w jaki sposób należy jej użyć. Czy możesz mi pomóc lub wskazać mi przydatne łącze lub przykład?Jak częściowo zaktualizować widoki w widgecie aplikacji bez przebudowywania wszystkich RemoteViews

Odpowiedz

3

Tak, można użyć metody partiallyUpdateAppWidge t w klasie AppWidgetManager. Jako przykład, jeśli chcesz zaktualizować widok tekstowy wewnątrz 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?

Powiązane problemy