【问题标题】:Strange exception in application应用程序中的奇怪异常
【发布时间】:2011-03-04 18:26:47
【问题描述】:

我最近在市场上发布了一个应用程序,到目前为止我收到了 7 个如下所示的错误:

java.lang.IllegalArgumentException:错误的状态类,期待视图状态,但收到了类 android.widget.ProgressBar$SavedState。当不同类型的两个视图在同一层次结构中具有相同的 id 时,通常会发生这种情况。这个视图的 id 是 id/0x2。确保其他视图不使用相同的 id。

谁能告诉我如何调试问题? id 为 0x2 的View 是什么 - 有没有办法找出来?

【问题讨论】:

  • 你能发布你的布局吗?可能是您有两个具有相同 id 的组件。
  • 您可能有两个具有相同 id 值的视图,请仔细检查您的 xml 文件。

标签: android exception


【解决方案1】:

我在以下情况下收到此错误 - 我正在替换操作栏中的某个项目的图标(在我的情况下是刷新按钮的颤抖器),当它处于该状态时,我旋转了设备。这个错误是由于它试图恢复视图的保存状态并注意到声明的内容和序列化的内容之间的差异。

【讨论】:

  • 当我将新视图分配给菜单项时,我还声明:throbber.getActionView().setSaveEnabled(false);(其中throbber 的类型为MenuItem)。然后在片段的onActivityCreated 方法中测试底层任务是否已退出并被处理。如果还没有(即用户仍在等待反馈),我再次调用 throbber.setActionView(getAnimatedRefreshImageView()); getAnimatedRefreshView 重新初始化动画版本,这是我必须管理 ImageView 的一种方法,因此我不会对垃圾收集器征税。
【解决方案2】:

报告旁边应该有一个堆栈跟踪,可以帮助您找到确切的代码行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-12
    • 1970-01-01
    • 1970-01-01
    • 2012-05-08
    • 2011-10-02
    相关资源
    最近更新 更多