如何使用 CalendarView 投射 LinearLayout?
How can I cast LinearLayout with CalendarView?
我想在我的 activity 上使用 CalenderView
,我也尝试清理我的项目,但这个问题没有解决。
这是我的代码:
Cal_view.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<CalendarView
android:layout_width="match_parent"
android:layout_height="264dp" />
</LinearLayout>
Main.xml:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.example.malik.auealert.HistoryActivity">
<include
android:id="@+id/calendarView"
layout="@layout/cal_view" />
</RelativeLayout>
活动类:
public CalendarView c;
// public TextView t;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_history);
// LinearLayout parent = (LinearLayout) View v;
/* ***ERROR Appear on here***: java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.CalendarView */
c = (CalendarView) findViewById(R.id.calendarView);
//t = (TextView) findViewById(R.id.message);
c.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
}
});
我搜索了 Google 解决方案,但找不到。
尝试将 android:id 提供给 CalenderView 并将该 ID 映射到 CalenderView 在 ActivityClass.
<CalendarView
android:id="@+id/calendarView"
android:layout_width="match_parent"
android:layout_height="264dp" />
首先将 id 分配给 calendarView,如下例所示。
<CalendarView
android:id="@+id/calendarView1"
android:layout_width="match_parent"
android:layout_height="264dp" />
然后找到您包含的视图,如下所示。
View includedView = findViewById(R.id.calendarView);
日历视图 = (日历视图) includedView.findViewById(R.id.calendarView1);
我想在我的 activity 上使用 CalenderView
,我也尝试清理我的项目,但这个问题没有解决。
这是我的代码:
Cal_view.xml
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<CalendarView
android:layout_width="match_parent"
android:layout_height="264dp" />
</LinearLayout>
Main.xml:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.example.malik.auealert.HistoryActivity">
<include
android:id="@+id/calendarView"
layout="@layout/cal_view" />
</RelativeLayout>
活动类:
public CalendarView c;
// public TextView t;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_history);
// LinearLayout parent = (LinearLayout) View v;
/* ***ERROR Appear on here***: java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.CalendarView */
c = (CalendarView) findViewById(R.id.calendarView);
//t = (TextView) findViewById(R.id.message);
c.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
}
});
我搜索了 Google 解决方案,但找不到。
尝试将 android:id 提供给 CalenderView 并将该 ID 映射到 CalenderView 在 ActivityClass.
<CalendarView
android:id="@+id/calendarView"
android:layout_width="match_parent"
android:layout_height="264dp" />
首先将 id 分配给 calendarView,如下例所示。
<CalendarView
android:id="@+id/calendarView1"
android:layout_width="match_parent"
android:layout_height="264dp" />
然后找到您包含的视图,如下所示。
View includedView = findViewById(R.id.calendarView);
日历视图 = (日历视图) includedView.findViewById(R.id.calendarView1);