我正在构建一个简单的小部件,它从名为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 );
}
}
答案 0 :(得分:0)
SharedPreferences
(小部件和ModifyInfo活动)。在上面的示例中,名称为“Monday”。android.content.Context
并使用Context.MODE_PRIVATE
清除错误