2011-09-23 45 views
2

我知道只有一種方式來獲得由ID的觀點:Android:按ID查看? (由控件提供者)

getViewById(R.drawable.imageButton) 

但我怎麼如果我沒有一個活動(開發窗件應用程序),以獲得此的ImageButton

我能夠獲得上下文。我認爲這足以獲得視圖 - 上下文只包含一個小部件,不是嗎?如果沒有 - 那麼如何獲得每個部件的意見?

回答

6

對於小工具你有RemoteViews工作,例如

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

Here你可以找到如何使用它們

+1

我試圖使用它,但我沒有找到任何getViewById模擬 – leshka

+7

第二個鏈接是死的。 –

1

沒有辦法,你可以得到的ImageView的手柄上的教程。 但是,您可以使用RemoteView類中的setImageViewBitmap或setImageViewResource或setImageViewUri來設置ImageView的位圖。 http://developer.android.com/reference/android/widget/RemoteViews.html

+0

您確定我無法獲取我的小部件佈局嗎? – leshka

+0

我並不是想說我不相信你,但這聽起來很奇怪......尤其是沒有androiddev鏈接,他們說同樣的東西 – leshka

2

裏面的onReceive

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);