最近遇到一个Crash,报错的堆栈日志如下
4 Caused by:
5 java.lang.ClassCastException:android.widget.HorizontalScrollView$SavedState cannot be cast to android.widget.ScrollView$SavedState
6 android.widget.ScrollView.onRestoreInstanceState(ScrollView.java:1835)
7 android.view.View.dispatchRestoreInstanceState(View.java:15859)
8 android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3235)
9 android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:3241)
10 android.view.View.restoreHierarchyState(View.java:15837)
11 android.support.v4.app.Fragment.restoreViewState(Fragment.java:483)
12 android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1358)
13 android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1574)
14 android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1641)
15 android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:2959)
16 android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentController.java:201)
17 android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:550)
18 android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:177)
19 android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1322)
20 android.app.Activity.performStart(Activity.java:6777)
21 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2696)
22 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2819)
23 android.app.ActivityThread.-wrap12(ActivityThread.java)
24 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1532)
25 android.os.Handler.dispatchMessage(Handler.java:102)
26 android.os.Looper.loop(Looper.java:154)
27 android.app.ActivityThread.main(ActivityThread.java:6321)
28 java.lang.reflect.Method.invoke(Native Method)
29 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
30 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
... prompt'''
首先这是一个横竖屏切换导致的bug,但是我在对应的activity中分明设置竖屏显示,后面发现是程序入口的activity没有设置竖屏显示,当你横屏打开应用的时候进入app就会让主页面的activity也显示横屏,然后就报了这个bug
解决方法就是给所有的activity都设置竖屏