求助:关于Android新增日历控件的使用

睡神 2011-05-25 04:42:57
各位大侠:小弟在使用Android 3.0新增日历控件的时候遇到如下问题,希望牛人给予解答,万分感谢!
在main.xml布局中添加一个日历控件,Activity不能正常显示,甚至连运行也不可以!但是,在不改变除了main.xml文件之外的其他文件的前提下,换成按钮,时钟,textview等其他任何控件,都能正常显示,出现的错误及相应的文件如下所示:
05-25 07:35:38.260: ERROR/AndroidRuntime(8671): Uncaught handler: thread main exiting due to uncaught exception
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.song.android.calendar/com.song.android.calendar.CalendarTest}: android.view.InflateException: Binary XML file line #12: Error inflating class CalendarView
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at android.app.ActivityThread.access$2200(ActivityThread.java:119)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at android.os.Handler.dispatchMessage(Handler.java:99)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at android.os.Looper.loop(Looper.java:123)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at android.app.ActivityThread.main(ActivityThread.java:4363)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at java.lang.reflect.Method.invokeNative(Native Method)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at java.lang.reflect.Method.invoke(Method.java:521)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at dalvik.system.NativeStart.main(Native Method)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): Caused by: android.view.InflateException: Binary XML file line #12: Error inflating class CalendarView
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:576)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at android.view.LayoutInflater.inflate(LayoutInflater.java:407)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at android.app.Activity.setContentView(Activity.java:1622)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at com.song.android.calendar.CalendarTest.onCreate(CalendarTest.java:11)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): ... 11 more
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): Caused by: java.lang.ClassNotFoundException: android.view.CalendarView in loader dalvik.system.PathClassLoader@44d86990
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at android.view.LayoutInflater.createView(LayoutInflater.java:466)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:544)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:66)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)
05-25 07:35:38.432: ERROR/AndroidRuntime(8671): ... 20 more

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.song.android.calendar"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="7" />

<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".CalendarTest"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

</application>
<uses-permission android:name="android.permission.READ_CALENDAR"/>
<uses-permission android:name="android.permission.WRITE_CALENDAR"/>
</manifest>

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<CalendarView
android:id="@+id/calendarView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</CalendarView>
</LinearLayout>

package com.song.android.calendar;

import android.app.Activity;
import android.os.Bundle;

public class CalendarTest extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}


...全文
641 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanlinhong 2012-03-02
  • 打赏
  • 举报
回复
那个android:layout_width="match_parent"
android:layout_height="match_parent"
zhangsan568393 2011-11-28
  • 打赏
  • 举报
回复
挺好挺好tnting
睡神 2011-06-21
  • 打赏
  • 举报
回复
唉。。。。高手呢
睡神 2011-06-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 l417584711 的回复:]

<CalendarView
android:id="@+id/calendarView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</CalendarView>

package也要写上
<xx.xx.CalendarView ……
[/Quote]
问一下,这个package是哪的?Manifest.xml?还是calendarView对应的.java类里的import?
傲慢的上校 2011-05-26
  • 打赏
  • 举报
回复
您非得用新浪的图片啊 下面图片看不到
睡神 2011-05-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 aomandeshangxiao 的回复:]

您非得用新浪的图片啊 下面图片看不到
[/Quote]下面的图片不是重点,主要的部分上面都有了!
睡神 2011-05-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 easycoola 的回复:]

xml文件错误
[/Quote]
XML文件哪错误了?他提示那个定义日历的地方出错,但是那只有个id,和宽高啊!没发现有啥错误!
easycoola 2011-05-26
  • 打赏
  • 举报
回复
xml文件错误
aSysBang 2011-05-26
  • 打赏
  • 举报
回复
<CalendarView
android:id="@+id/calendarView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</CalendarView>

package也要写上
<xx.xx.CalendarView
睡神 2011-05-26
  • 打赏
  • 举报
回复
自己顶下,别沉了

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧