0
私は、ModifyInfoというAcitvityで設定されたSharedPreferencesからデータを取得する簡単なウィジェットを構築していますが、それを行う方法はわかりません。以下のコードは、私を逃れる何らかの理由で動作しません。Android AppウィジェットからSharedPreferencesを取得する
エラー:静的でないメソッドgetSharedPreferences(String、int)をContextWrapperタイプから静的に参照することはできません。あなたは両方の場所(ウィジェットとModifyInfo活性の両方)に同じ名前でSharedPreferences
を開く
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);
}
}
おかげで、問題の一定のその部分を取り除くために
Context.MODE_PRIVATE
を使用しています。 Error:非静的メソッドgetSharedPreferences(String、int)への静的参照をContextWrapperタイプから作成できません。 –私はそれを得て気にしない。最初にContextオブジェクトを作成しなければなりませんでした。 –