我是Android开发的新手,现在似乎陷入困境。每当我在设备上编译和测试我的应用程序时,我都会收到致命的错误消息:
=1: thread exiting with uncaught exception (group=0x4137d930)
12-10 22:07:28.423: E/AndroidRuntime(20961): FATAL EXCEPTION: main
12-10 22:07:28.423: E/AndroidRuntime(20961): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.hyperlocal.tradeit/com.hyperlocal.tradeit.MainActivity}: java.lang.ClassCastException: android.widget.RelativeLayout cannot be cast to android.support.v4.view.ViewPager
然后app会在启动画面后停止运行。
操作栏甚至不再出现在图形布局中,IDE无法找到任何错误:/
任何帮助将不胜感激,谢谢!
答案 0 :(得分:4)
您已将RelativeLayout的ID设为android:id="@+id/pager"
,并且在您的代码中,您正在尝试访问它,认为它是一个ViewPager。这些类不相同。在RelativeLayout中,您必须手动添加ViewPager并提供android:id="@+id/pager
。
Android Documentation在提供模板方面做得很好。
以下是您的代码应该类似的内容。
<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"
tools:context=".MainActivity"
android:background="@drawable/bg" >
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>