カレンダーに特定の日付のイベントのリストがあります。
public ArrayList<Event> eventDetails(int m, int d) {
ArrayList<Event> events = new ArrayList<Event>();
switch (m) {
case 1:
if (d == 1) {
events.add(new Event("Event in Date 1", null, null, null, null, null, null, null));
}
}
return events
}
ハードコードされたテキストを、私が行った文字列リソースに変換したかったのです。
これ:
events.add(new Event("Event in Date 1", null, null, null, null, null, null, null));
に:
events.add(new Event(getResources().getString(R.string.text1), null, null, null, null, null, null, null));
ただし、問題は、でNullPointerExceptionが発生することですgetResources().getString(R.string.text1)
。
Stringリソースを取得するには、コンテキストを渡す必要があることに気づきました。
_context.getResources().getString(R.string.text1)
ただし、これでもNullPointerExceptionがスローされました。静的と宣言しContext
ましたが、機能しませんでした。
コードの何が問題になっていますか?
コード:
public class CalendarEvents extends Activity {
private static Context _context;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.events);
_context = this.getApplicationContext();
}
public ArrayList<Event> eventDetails(int m, int d) {
ArrayList<Event> events = new ArrayList<Event>();
switch (m) {
case 1:
if (d == 1) {
events.add(new Event(_context.getResources().getString(R.string.text1), null, null, null, null, null, null, null));
}
}
return events
}
}