2012-03-17 2 views
1

В моем методе onCreate у меня есть следующая строка кода.Создание экземпляра CalendarView

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

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

ответ

1

Если вы хотите получить доступ к объекту 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. 

} 

И о контексте так же, как это имя он держит информацию ни о своих действиях или приложениях itself.For подробнее проверить это.

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

1

Фактически, как только вы определили его в 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. 
} 
+0

Я боюсь, что это смутило меня больше, поэтому я создал объект, называемый календарь из моего CalendarView как бы я получить текущую выбранную дату от этого? Я не могу назвать методы, перечисленные в документации. – nexus490

+0

1. Вы не должны создавать новый объект, так как это не будет тот же объект, который отображается на экране. 2. Почему вы не можете использовать методы в документации? – MByD

+0

В методах, перечисленных для CalendarView, есть один вызванный getDate(), который я предполагаю, что я буду вызывать и преобразовывать в строку, но когда я делаю календарь. этот метод не является одним из перечисленных. – nexus490

Смежные вопросы