Android: просмотр по идентификатору? (от провайдера виджетов) - PullRequest
2 голосов
/ 23 сентября 2011

Я знаю только один способ получить представление по id:

getViewById(R.drawable.imageButton)

Но как мне получить эту кнопку image, если у меня нет активности (разработка приложения для виджетов)

Я могу получить контекст. Я полагаю, этого достаточно, чтобы получить представление - контекст содержит только один виджет, не так ли? А если нет - то как каждый виджет получить вид?

Ответы [ 3 ]

6 голосов
/ 23 сентября 2011

Для виджетов вы должны работать с RemoteViews , например

RemoteViews updateViews = new RemoteViews(this.getPackageName(), R.layout.widget);

Здесь вы можете найти учебное пособие по их использованию

2 голосов
/ 23 апреля 2013

Внутри при получении

AppWidgetManager mgr = AppWidgetManager.getInstance(context);

int[] appWidgetIds = mgr.getAppWidgetIds(new ComponentName(context, YourWidgetProvider.class));

RemoteViews rv = new RemoteViews(context.getPackageName(),R.layout.widget_layout);

rv.setImageViewResource(R.id.yourImageView, R.drawable.yourBitmap);

mgr.updateAppWidget(appWidgetIds, rv);
1 голос
/ 23 сентября 2011

Нет способа получить представление о ImageView. Но вы можете использовать setImageViewBitmap или setImageViewResource или setImageViewUri из класса RemoteView для установки растрового изображения ImageView. http://developer.android.com/reference/android/widget/RemoteViews.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...