【发布时间】:2011-07-20 14:52:19
【问题描述】:
我正在构建一个简单的小部件,该小部件从名为 ModifyInfo 的 Acitvity 中设置的 SharedPreferences 获取数据,但我不知道该怎么做。下面的代码由于某种让我无法理解的原因不起作用。
错误:无法从 ContextWrapper 类型对非静态方法 getSharedPreferences(String, int) 进行静态引用。
public class WatchWidget extends AppWidgetProvider {
@Override
public void onUpdate( Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds )
{
RemoteViews remoteViews = new RemoteViews( context.getPackageName(), R.layout.widget_layout );
ComponentName watchWidget = new ComponentName( context, WatchWidget.class );
switch (Calendar.DAY_OF_WEEK){
case Calendar.MONDAY:
SharedPreferences settings = ModifyInfo.getSharedPreferences("Monday", Context.MODE_PRIVATE);
remoteViews.setTextViewText( R.id.widText, settings.getString("Monday", ""));
break;
default:
break;
}
appWidgetManager.updateAppWidget( watchWidget, remoteViews );
}
}
【问题讨论】:
标签: android widget sharedpreferences