1

在我的 onCreate 方法中,我有以下代码行。

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

我正在尝试从此 CalendarView 获取当前选定的日期并将其转换为字符串,但在我用来执行此 calendar.getDate(); 的方法中 导致错误。

4

2 回答 2

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.
}
于 2012-03-17T22:22:22.563 回答
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.

}

关于上下文,就像它的名称一样,它保留有关您的活动或应用程序本身的信息。有关更多信息,请查看此。

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

于 2012-03-17T22:39:58.957 回答