Создание экземпляра CalendarView - PullRequest
1 голос
/ 18 марта 2012

В моем методе onCreate у меня есть следующая строка кода.

CalendarView calendar = (CalendarView) findViewById(R.id.cal);

Я пытаюсь получить текущую выбранную дату из этого CalendarView и преобразовать ее в строку, но в методе, который я использую длясделать это calendar.getDate ();вызывает ошибку.

Ответы [ 2 ]

1 голос
/ 18 марта 2012

Если вы хотите получить доступ к вашему объекту CalendarView во всей области видимости вашего класса (например, метод, подклассы и т. Д.) И использовать его свойства, методы и т. Д., Просто создайте ссылку перед вашим методом onCreate.

CalendarView calendar;

И затем инициализируйте его в вашем методе onCreate, открыв ваш макет.

@Override
public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
setContentView(R.layout.mylayout); //mylayout refers to your layout that you want to display 
calendar = (CalendarView) findViewById(R.id.calendarid); //Refers to CalendarView that you declared in your layout.

}

А в контексте, так же как и в его названии, хранится информация о ваших действиях или самом приложении. Для получения дополнительной информации проверьте это.

http://developer.android.com/reference/android/content/Context.html

1 голос
/ 18 марта 2012

На самом деле, после того, как вы определили его в XML, он будет создан Dalvik, вам не нужно делать то, что вам нужно, это получить ссылку на экземпляр. Это сделано так:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main); // assuming your layout XML is called main
    CalenderView calendar = (CalenderView) findViewById(R.id.theCalendarId); // the ID you gave in the XML
    // Now you can refer to the calendar.
}
...