2011-09-22 102 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