遇到了一个难缠的问题,搜了N天的没有解决:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>25.415</code><code>: D/LocateService(</code><code>6711</code><code>): onLocationChanged: AMapLocation location =Location[lbs </code><code>0.000000</code><code>,</code><code>0.000000</code> <code>acc=</code><code>0</code> <code>t=?!? et=?!? {Bundle[{adcode=, citycode=, desc=}]}]</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>25.425</code><code>: D/AMapLocateListener(</code><code>6711</code><code>): onLocationChanged: location = Location[lbs </code><code>0.000000</code><code>,</code><code>0.000000</code> <code>acc=</code><code>0</code> <code>t=?!? et=?!? {Bundle[{adcode=, citycode=, desc=}]}]</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>25.475</code><code>: I/AuthFailure(</code><code>6711</code><code>): INVALID_USER_SCODE</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.105</code><code>: D/GatewayPresentor(</code><code>6711</code><code>): logout: component = push</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.105</code><code>: D/GatewayComponent(</code><code>6711</code><code>): logout</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.105</code><code>: W/GatewayComponent(</code><code>6711</code><code>): mLogged = </code><code>false</code><code>, mSender = com.autonavi.connector.clientsdk.Sender</code><code>@432462d8</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.105</code><code>: D/WorkOrderFragment(</code><code>6711</code><code>): onDetach</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.105</code><code>: D/OrderFragment(</code><code>6711</code><code>): onDetach</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.115</code><code>: D/GatewayPresentor(</code><code>6711</code><code>): login: component = push, accessKey = </code><code>2</code><code>, userId = </code><code>2</code><code>, token = 5ad04ba7-de02-</code><code>4203</code><code>-a077-a79581c89252</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.115</code><code>: D/GatewayComponent(</code><code>6711</code><code>): login: accessKey = </code><code>2</code><code>, userId = </code><code>2</code><code>, token = 5ad04ba7-de02-</code><code>4203</code><code>-a077-a79581c89252</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.115</code><code>: I/Sender(</code><code>6711</code><code>): 生成消息号:</code><code>6166812093405200387</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.125</code><code>: D/ReadableDatabaseHelper(</code><code>6711</code><code>): query: distinct = </code><code>false</code><code>, table = TWorkOrder, columns = </code><code>null</code><code>, selection = create_time >= datetime(</code><code>'2015-07-02 15:38:29'</code><code>), selectionArgs = </code><code>null</code><code>, groupBy = </code><code>null</code><code>, having = </code><code>null</code><code>, orderBy = </code><code>null</code><code>, limit =</code><code>null</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.125</code><code>: D/OrderFragment(</code><code>6711</code><code>): onAttach</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: D/AndroidRuntime(</code><code>6711</code><code>): Shutting down VM</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: W/dalvikvm(</code><code>6711</code><code>): threadid=</code><code>1</code><code>: thread exiting with uncaught exception (group=</code><code>0x4173cd58</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): FATAL EXCEPTION: main</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): Process: com.autonavi.taoparking.parker, PID: </code><code>6711</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.autonavi.taoparking.parker/com.autonavi.taoparking.parker.ManageOrderActivity}: java.lang.ClassCastException: android.view.AbsSavedState$</code><code>1</code> <code>cannot be cast to android.widget.HorizontalScrollView$SavedState</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:</code><code>2190</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:</code><code>2239</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:</code><code>3730</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at android.app.ActivityThread.access$</code><code>900</code><code>(ActivityThread.java:</code><code>141</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:</code><code>1208</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at android.os.Handler.dispatchMessage(Handler.java:</code><code>102</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at android.os.Looper.loop(Looper.java:</code><code>136</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at android.app.ActivityThread.main(ActivityThread.java:</code><code>5047</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at java.lang.reflect.Method.invokeNative(Native Method)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at java.lang.reflect.Method.invoke(Method.java:</code><code>515</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:</code><code>806</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:</code><code>622</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at dalvik.system.NativeStart.main(Native Method)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): Caused by: java.lang.ClassCastException: android.view.AbsSavedState$</code><code>1</code> <code>cannot be cast to android.widget.HorizontalScrollView$SavedState</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at android.widget.HorizontalScrollView.onRestoreInstanceState(HorizontalScrollView.java:</code><code>1659</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at android.view.View.dispatchRestoreInstanceState(View.java:</code><code>12810</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:</code><code>2637</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:</code><code>2643</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at android.view.View.restoreHierarchyState(View.java:</code><code>12788</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:</code><code>1744</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at android.app.Activity.onRestoreInstanceState(Activity.java:</code><code>955</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at android.app.Activity.performRestoreInstanceState(Activity.java:</code><code>927</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:</code><code>1138</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:</code><code>2168</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>29.155</code><code>: E/AndroidRuntime(</code><code>6711</code><code>): ... </code><code>12</code> <code>more</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>31.695</code><code>: I/Sender(</code><code>6711</code><code>): ..............发送心跳</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>31.825</code><code>: I/Sender(</code><code>6711</code><code>): 重试连接到服务器</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>31.885</code><code>: W/System.err(</code><code>6711</code><code>): java.net.ConnectException: failed to connect to /</code><code>120.26</code><code>.</code><code>196.74</code> <code>(port </code><code>10000</code><code>): connect failed: ECONNREFUSED (Connection refused)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>31.885</code><code>: W/System.err(</code><code>6711</code><code>): at libcore.io.IoBridge.connect(IoBridge.java:</code><code>114</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>31.885</code><code>: W/System.err(</code><code>6711</code><code>): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:</code><code>192</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>31.885</code><code>: W/System.err(</code><code>6711</code><code>): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:</code><code>172</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>31.885</code><code>: W/System.err(</code><code>6711</code><code>): at java.net.Socket.startupSocket(Socket.java:</code><code>566</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>31.885</code><code>: W/System.err(</code><code>6711</code><code>): at java.net.Socket.tryAllAddresses(Socket.java:</code><code>128</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>31.885</code><code>: W/System.err(</code><code>6711</code><code>): at java.net.Socket.<init>(Socket.java:</code><code>178</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>31.885</code><code>: W/System.err(</code><code>6711</code><code>): at java.net.Socket.<init>(Socket.java:</code><code>150</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>31.885</code><code>: W/System.err(</code><code>6711</code><code>): at com.autonavi.connector.clientsdk.ClientContext$</code><code>1</code><code>.run(ClientContext.java:</code><code>74</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>31.885</code><code>: W/System.err(</code><code>6711</code><code>): at java.lang.Thread.run(Thread.java:</code><code>841</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>31.885</code><code>: W/System.err(</code><code>6711</code><code>): Caused by: libcore.io.ErrnoException: connect failed: ECONNREFUSED (Connection refused)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>31.885</code><code>: W/System.err(</code><code>6711</code><code>): at libcore.io.Posix.connect(Native Method)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>31.885</code><code>: W/System.err(</code><code>6711</code><code>): at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:</code><code>85</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>31.885</code><code>: W/System.err(</code><code>6711</code><code>): at libcore.io.IoBridge.connectErrno(IoBridge.java:</code><code>127</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>31.885</code><code>: W/System.err(</code><code>6711</code><code>): at libcore.io.IoBridge.connect(IoBridge.java:</code><code>112</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>31.885</code><code>: W/System.err(</code><code>6711</code><code>): ... </code><code>8</code> <code>more</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>31.885</code><code>: W/Sender(</code><code>6711</code><code>): failed to connect to /</code><code>120.26</code><code>.</code><code>196.74</code> <code>(port </code><code>10000</code><code>): connect failed: ECONNREFUSED (Connection refused)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>41.695</code><code>: I/Sender(</code><code>6711</code><code>): ..............发送心跳</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>41.885</code><code>: I/Sender(</code><code>6711</code><code>): 重试连接到服务器</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>41.945</code><code>: W/GatewayComponent(</code><code>6711</code><code>): mLogAction = LOGIN, failure: code = -</code><code>2004</code><code>, message = 发送消息没有回执确认</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>41.945</code><code>: D/GatewayService(</code><code>6711</code><code>): mLocationLog.onFailed: code = -</code><code>2004</code><code>, message = 发送消息没有回执确认</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>41.945</code><code>: W/System.err(</code><code>6711</code><code>): java.net.ConnectException: failed to connect to /</code><code>120.26</code><code>.</code><code>196.74</code> <code>(port </code><code>10000</code><code>): connect failed: ECONNREFUSED (Connection refused)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>41.945</code><code>: W/System.err(</code><code>6711</code><code>): at libcore.io.IoBridge.connect(IoBridge.java:</code><code>114</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>41.945</code><code>: W/System.err(</code><code>6711</code><code>): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:</code><code>192</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>41.945</code><code>: W/System.err(</code><code>6711</code><code>): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:</code><code>172</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>41.945</code><code>: W/System.err(</code><code>6711</code><code>): at java.net.Socket.startupSocket(Socket.java:</code><code>566</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>41.945</code><code>: W/System.err(</code><code>6711</code><code>): at java.net.Socket.tryAllAddresses(Socket.java:</code><code>128</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>41.945</code><code>: W/System.err(</code><code>6711</code><code>): at java.net.Socket.<init>(Socket.java:</code><code>178</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>41.945</code><code>: W/System.err(</code><code>6711</code><code>): at java.net.Socket.<init>(Socket.java:</code><code>150</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>41.945</code><code>: W/System.err(</code><code>6711</code><code>): at com.autonavi.connector.clientsdk.ClientContext$</code><code>1</code><code>.run(ClientContext.java:</code><code>74</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>41.945</code><code>: W/System.err(</code><code>6711</code><code>): at java.lang.Thread.run(Thread.java:</code><code>841</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>41.945</code><code>: W/System.err(</code><code>6711</code><code>): Caused by: libcore.io.ErrnoException: connect failed: ECONNREFUSED (Connection refused)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>41.945</code><code>: W/System.err(</code><code>6711</code><code>): at libcore.io.Posix.connect(Native Method)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>41.945</code><code>: W/System.err(</code><code>6711</code><code>): at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:</code><code>85</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>41.945</code><code>: W/System.err(</code><code>6711</code><code>): at libcore.io.IoBridge.connectErrno(IoBridge.java:</code><code>127</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>41.945</code><code>: W/System.err(</code><code>6711</code><code>): at libcore.io.IoBridge.connect(IoBridge.java:</code><code>112</code><code>)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>41.945</code><code>: W/System.err(</code><code>6711</code><code>): ... </code><code>8</code> <code>more</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>41.945</code><code>: W/Sender(</code><code>6711</code><code>): failed to connect to /</code><code>120.26</code><code>.</code><code>196.74</code> <code>(port </code><code>10000</code><code>): connect failed: ECONNREFUSED (Connection refused)</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>43.935</code><code>: W/GatewayComponent(</code><code>6711</code><code>): mLogAction = LOGIN, failure: code = -</code><code>2004</code><code>, message = 发送消息没有回执确认</code>
<code>07</code><code>-</code><code>02</code> <code>15</code><code>:</code><code>40</code><code>:</code><code>43.935</code><code>: D/GatewayService(</code><code>6711</code><code>): mPushLog.onFailed: code = -</code><code>2004</code><code>, message = 发送消息没有回执确认</code>
网上大部分人都说是因为同一个页面(Activity),不同的View使用了相同的ID,导致在恢复时,findViewById,强制转换SaveState类型错误,可是我对比了半天整个工程中就一个SlidingTabLayout(继承HorizontalScrollView)使用了android:id="@+id/slidingTabLayout",应该不是网友说的这种情况,但是我也不知道为什么传的AbsSavedState$1给HorizontalScrollView,无奈去翻源码:
<code> </code><code>@Override</code>
<code> </code><code>protected</code> <code>void</code> <code>onRestoreInstanceState(Parcelable state) {</code>
<code> </code><code>if</code> <code>(mContext.getApplicationInfo().targetSdkVersion <= Build.VERSION_CODES.JELLY_BEAN_MR2) {</code>
<code> </code><code>// Some old apps reused IDs in ways they shouldn't have.</code>
<code> </code><code>// Don't break them, but they don't get scroll state restoration.</code>
<code> </code><code>super</code><code>.onRestoreInstanceState(state);</code>
<code> </code><code>return</code><code>;</code>
<code> </code><code>}</code>
<code> </code><code>SavedState ss = (SavedState) state;</code>
<code> </code><code>super</code><code>.onRestoreInstanceState(ss.getSuperState());</code>
<code> </code><code>mSavedState = ss;</code>
<code> </code><code>requestLayout();</code>
<code> </code><code>}</code>
大概意思就是在Android API 18(4.2.2和4.4.2之间的一个版本)以前,不会保存ScrollView的滚动条位置,这个对我影响也不是很大,规避这个问题我能想到有如下两种:
将AndroidMainifest.xml中android:targetSdkVersion降为18以下(如果需要记录这个状态,可以在onSaveInstanceState中记录位置,onRestoreInstanceState中恢复就可以了);
不让View保存状态:
android:saveEnabled="false"|setSaveEnabled(false)|不要给view设置id
<code>/**</code>
<code> </code><code>* Called by {@link #saveHierarchyState(android.util.SparseArray)} to store the state for</code>
<code> </code><code>* this view and its children. May be overridden to modify how freezing happens to a</code>
<code> </code><code>* view's children; for example, some views may want to not store state for their children.</code>
<code> </code><code>*</code>
<code> </code><code>* @param container The SparseArray in which to save the view's state.</code>
<code> </code><code>* @see #dispatchRestoreInstanceState(android.util.SparseArray)</code>
<code> </code><code>* @see #saveHierarchyState(android.util.SparseArray)</code>
<code> </code><code>* @see #onSaveInstanceState()</code>
<code> </code><code>*/</code>
<code>protected</code> <code>void</code> <code>dispatchSaveInstanceState(SparseArray<Parcelable> container) {</code>
<code> </code><code>if</code> <code>(mID != NO_ID && (mViewFlags & SAVE_DISABLED_MASK) == </code><code>0</code><code>) {</code>
<code> </code><code>mPrivateFlags &= ~PFLAG_SAVE_STATE_CALLED;</code>
<code> </code><code>Parcelable state = onSaveInstanceState();</code>
<code> </code><code>if</code> <code>((mPrivateFlags & PFLAG_SAVE_STATE_CALLED) == </code><code>0</code><code>) {</code>
<code> </code><code>throw</code> <code>new</code> <code>IllegalStateException(</code>
<code> </code><code>"Derived class did not call super.onSaveInstanceState()"</code><code>);</code>
<code> </code><code>if</code> <code>(state != </code><code>null</code><code>) {</code>
<code> </code><code>// Log.i("View", "Freezing #" + Integer.toHexString(mID)</code>
<code> </code><code>// + ": " + state);</code>
<code> </code><code>container.put(mID, state);</code>
<code>}</code>
本文转自 breezy_yuan 51CTO博客,原文链接:http://blog.51cto.com/lbrant/1670280,如需转载请自行联系原作者