- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我认为,我的问题是我有一个纵向模式的图库和一个横向模式的 ListView 。他们都使用相同的适配器并在相同的 View 中。但是,在方向更改时, ListView 会尝试从图库中读取信息并且程序会崩溃。
库在恢复时可以很好地读取列表的信息。它是无法读取图库保存状态的列表。我附上了下面的堆栈跟踪,尽管它告诉我的很少。您可以发出的任何光线都会有所帮助!顺便说一句,目标 api 是 3.0。
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): FATAL EXCEPTION: main
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.awesome.OASAC/com.awesome.OASAC.OASACActivity}: java.lang.ClassCastException: android.widget.AbsSpinner$SavedState cannot be cast to android.widget.AbsListView$SavedState
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1736)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1752)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3096)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at android.app.ActivityThread.access$1600(ActivityThread.java:123)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:997)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at android.os.Handler.dispatchMessage(Handler.java:99)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at android.os.Looper.loop(Looper.java:126)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at android.app.ActivityThread.main(ActivityThread.java:3997)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at java.lang.reflect.Method.invokeNative(Native Method)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at java.lang.reflect.Method.invoke(Method.java:491)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at dalvik.system.NativeStart.main(Native Method)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): Caused by: java.lang.ClassCastException: android.widget.AbsSpinner$SavedState cannot be cast to android.widget.AbsListView$SavedState
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at android.widget.AbsListView.onRestoreInstanceState(AbsListView.java:1520)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at android.view.View.dispatchRestoreInstanceState(View.java:8101)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at android.view.ViewGroup.dispatchThawSelfOnly(ViewGroup.java:1972)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at android.widget.AdapterView.dispatchRestoreInstanceState(AdapterView.java:766)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1958)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at android.view.View.restoreHierarchyState(View.java:8080)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at android.app.Fragment.restoreViewState(Fragment.java:516)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:742)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:921)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:904)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at android.app.FragmentManagerImpl.dispatchStart(FragmentManager.java:1579)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at android.app.Activity.performStart(Activity.java:4320)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1709)
07-22 20:58:35.660: ERROR/AndroidRuntime(2191): ... 12 more
最佳答案
据推测,您将 Gallery
和 ListView
命名为相同。正如您所发现的那样,您不能安全地这样做。将其中一个名字更改为不同的名字。您还需要覆盖 onSaveInstanceState()
和 onRestoreInstanceState()
以自己在两个实例状态之间进行转换(除了从这些方法中的每一个链接到父类(super class)以继承默认行为)。
关于android - AbsSpinner$SavedState 无法转换为 AbsListView$SavedState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6796161/
所以,我不明白为什么会出现这个错误: 04-06 17:51:10.252: E/AndroidRuntime(10745): FATAL EXCEPTION: main 04-06 17:51:10
我不知道从哪里开始调试。这是来自 logcat 的信息: 01-22 18:28:20.472: E/AndroidRuntime(10859): FATAL EXCEPTION: main 01-2
我得到一个奇怪的 NullPointerException。我的代码中没有指向。我也知道我的应用程序仅在以下情况下给出此 NullPointerException: 制造商:索尼爱立信 产品:MT11
我在 AbsListView 中遇到 NullPointerException 问题 java.lang.NullPointerException at android.widge
我想构建一个自定义列表(Pinterest 网格布局)并且我想扩展 AbsListView。周围有很好的例子吗?这似乎非常非常困难。 谢谢托比亚 最佳答案 我创建了一个 nice post关于这个,发
如何设置 AbsListView.LayoutParams 的布局引力? 我在自定义数组适配器中使用它,我需要根据变量设置布局引力。我的列表子项包含线性布局根,但在适配器中,我无法设置 LinearL
我正在对正在开发的应用程序进行一些调试,在我的 LogCat 中,我继续收到带有标签“AbsListView”的消息和消息“unregisterIRListner() 被调用”。有什么我没有在我的代码
在我的项目中,我使用 AbsListView 在 Fragment 中处理/创建我的 ListView。它工作正常,但 Android Studio 检查告诉我 AbsListView 需要 API
代码如下: mListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); mListView.setMultiChoice
我最近在从 AbsListView 扩展的 ListView 中遇到空指针异常(调用 showContextMenuForChild)。我在我的网站上找不到错误,所以我查看了 AbsListView
我想要的就像一个 gridView,其中每个项目都可以有自己的宽度。就像在 html 中,如果您只是在一个 div block 中添加很多 span 项目,div 将根据需要增长以适应它们。 是否已经
我有一个奇怪的问题,我有下一个代码文件: result_suggestion.xml: results_suggestions_footer.xml:
如果您直接调用 AbsListView.setItemChecked(),效果很好,ActionMode 将激活并创建。 mGridView.setItemChecked(pPosition, tru
我想为 ListView 设置页脚。但我得到以下错误: > : FATAL EXCEPTION: main > 08-19 07:26:53.225: E/AndroidRunti
我是 android 开发的新手,我遇到了这 3 个不同的选项 ListView、AbsListView 和 RecyclerView 来在 android 中创建一个列表。这3个有什么区别。 最佳答
我认为,我的问题是我有一个纵向模式的图库和一个横向模式的 ListView 。他们都使用相同的适配器并在相同的 View 中。但是,在方向更改时, ListView 会尝试从图库中读取信息并且程序会崩
与许多其他人一样,我一直在考虑创建一个风格不同的 ListView ,并从扩展 AbsListView 开始。根据 Android 文档,AbsListView 是: Base class that
我有一个我正在使用的分段适配器,但是我正在尝试修改它,以便使用 if (section.adapter.getCount() > 0) 使这些部分在它们为空时不会出现。我有以下类(class): ab
我正在研究 BaseExpandableListAdapter 的扩展,并具有以下 getChildView() 的实现: public View getChildView(int groupPosi
我正在尝试开发 Android 3.1 平板电脑应用程序。 这个app会有很多图片,我已经关注了Processing Bitmaps Off the UI Thread教程,但我做错了,因为我得到:
我是一名优秀的程序员,十分优秀!