2012-04-17 27 views
5

Tôi có một vấn đề, báo cáo từ thị trường - vụ tai nạn khổng lồ trong ứng dụng, nói với tôi rằng:Android: id nhân đôi theo quan điểm hệ thống phân cấp

java.lang.RuntimeException: Không thể bắt đầu hoạt động ComponentInfo {com. ... android/com .... android.activities ....}: java.lang.IllegalArgumentException: Lớp trạng thái không đúng, mong đợi Xem Trạng thái nhưng đã nhận được lớp android.widget.ProgressBar $ SavedState thay thế. Điều này thường xảy ra khi hai chế độ xem loại khác nhau có cùng một id trong cùng một cấu trúc phân cấp. Id của chế độ xem này là id/0x2. Đảm bảo các chế độ xem khác không sử dụng cùng một id.

Vì vậy, tôi biết điều đó thường có nghĩa là nội dung hiển thị - Tôi có một số chế độ xem có id trùng lặp. Điều này là tốt, nhưng điều làm tôi lo lắng là tôi nghĩ rằng lượt xem id trùng lặp đi kèm với một số mạng quảng cáo tôi đã tích hợp. Tôi đã cố gắng để chứa các vụ tai nạn với try/catch trên xem, mà giữ mọi quảng cáo, nhưng nó không bắt nó.

Vì vậy, suy nghĩ tiếp theo của tôi là lượt xem quảng cáo vẫn có một số vai trò trong điều này, nhưng sự cố xảy ra ở chế độ xem khác (của riêng tôi) có cùng id. Vấn đề là, tôi không biết cái nhìn đó là gì và ở đâu để tìm kiếm nó. Bạn có bất kỳ ý tưởng nào có thể là chế độ xem có id 0x2 không? (cũng 0x3 - rất nhiều báo cáo về id đó quá)? Bạn đã tình cờ gặp sự cố tương tự, được kết nối với mạng quảng cáo chưa?

Thực sự thất vọng về điều này. Bất kỳ trợ giúp nào được đánh giá cao!

Cảm ơn, Dan

PS stack đầy đủ dấu vết:

java.lang.RuntimeException: Không thể bắt đầu hoạt động ComponentInfo {com ..... android/com ..... android.activities ....}: java.lang.IllegalArgumentException: Lớp trạng thái không đúng, mong đợi Xem Trạng thái nhưng đã nhận được lớp android.widget.ProgressBar $ SavedState thay thế. Điều này thường xảy ra khi hai chế độ xem loại khác nhau có cùng một id trong cùng một cấu trúc phân cấp. Id của chế độ xem này là id/0x2. Đảm bảo các chế độ xem khác không sử dụng cùng một id. tại android.app.ActivityThread.performLaunchActivity (ActivityThread.java:1651) tại android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:1667) tại android.app.ActivityThread.handleRelaunchActivity (ActivityThread.java:2836) tại android.app.ActivityThread.access $ 1600 (ActivityThread.java:117) tại android.app.ActivityThread $ H.handleMessage (ActivityThread.java:939) tại android.os.Handler.dispatchMessage (Handler.java:99) tại android.os.Looper.loop (Looper.java:130) tại android.app.ActivityThread.main (ActivityThread.java:3691) tại java.lang.reflect.Method.invokeNative (Native Method) tại java. lang.reflect.Method.invoke (Method.java:507) tại com.an droid.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:907) tại com.android.internal.os.ZygoteInit.main (ZygoteInit.java:665) tại dalvik.system.NativeStart.main (Phương thức Gốc) Gây ra bởi: java.lang.IllegalArgumentException: Lớp trạng thái không đúng, trông đợi Trạng thái Chế độ xem nhưng đã nhận được lớp android.widget.ProgressBar $ SavedState thay thế. Điều này thường xảy ra khi hai chế độ xem loại khác nhau có cùng một id trong cùng một cấu trúc phân cấp. Id của chế độ xem này là id/0x2. Đảm bảo các chế độ xem khác không sử dụng cùng một id. tại android.view.View.onRestoreInstanceState (View.java:6355) tại android.view.View.dispatchRestoreInstanceState (View.java:6331) tại android.view.ViewGroup.dispatchRestoreInstanceState (ViewGroup.java:1211) at android.view.ViewGroup.dispatchRestoreInstanceState (ViewGroup.java: 1215) tại android.view.ViewGroup.dispatchRestoreInstanceState (ViewGroup.java:1215) tại android.view.ViewGroup.dispatchRestoreInstanceState (ViewGroup.java:1215) tại android.view.ViewGroup.dispatchRestoreInstanceState (ViewGroup.java: 1215) tại android.view.ViewGroup.dispatchRestoreInstanceState (ViewGroup.java:1215) tại android.view.View.restoreHierarchyState (View.java:6310) tại com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState (PhoneWindow.java:1537) tại android.app.Activity.onRestoreInstanceState (Activity.java:850) tại android.app.Activity.performRestoreInstanceState (Activity.java:822) tại android.app.Instrumentation.callActivityOnRestoreInstanceState (Instrumentation. java: 1096) tại android.app.ActivityThread.performLaunchActivity (ActivityThread.java:1629) ... 12 hơn

Trả lời

2

Đối mặt vấn đề này trong khi chuyển đổi từ một đoạn khác đoạn, trong đó có cùng id cho ProgressBar. Thay đổi các id khác nhau và nó đã được giải quyết.

Các vấn đề liên quan