2011-09-22 68 views
1

我試圖實現一個小部件,有一個GridView的佈局。我的小部件類中的onUpdate方法是:RemoteViews - void方法setRemoteAdapter

@Override 
public void onUpdate(Context context, AppWidgetManager appWidgetManager, 
     int[] appWidgetIds) { 

    final int N = appWidgetIds.length; 
    for (int i=0; i<N; i++) { 
     int widgetId = appWidgetIds[i]; 

     RemoteViews views = new RemoteViews(context.getPackageName(), 
       R.layout.widget); 

        /**views.setRemoteAdapter(..)**/ 

     Intent intent = new Intent(context, MainAppDelegate.class); 


     appWidgetManager.updateAppWidget(widgetId, views); 
    } 
} 

的事情是,當我叫views.setRemoteAdapter(..) Java不知道它是什麼方法。爲什麼會發生?我需要升級sdk嗎?此外,它不承認setBundle()方法

回答

4

setRemoteAdapter()僅在API級別11.您需要將您的構建目標設爲API級別11或更高的使用這種方法來編譯提供,您需要請注意確保此代碼僅在API Level 11或更高版本的設備上運行。

+0

我剛剛發現,謝謝你的回覆。你知道另一種方法來建立一個沒有使用這個函數的GridView適配器嗎? – Radu

+0

@Radu:除了API Level 11或更高版本,在RemoteViews中不能有'GridView',在這種情況下,你有'setRemoteAdapter()'。 – CommonsWare