我在eclipse中的android项目遇到了一些问题。
我有两个XML布局文件,都包含ListViews。
ListViews在我的Android手机上运行完美,但eclipse不会打开设计窗口,出现以下错误:
com.android.layoutlib.bridge.impl.binding.FakeAdapter cannot be cast to android.widget.BaseAdapter
两个文件都包含以下代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/cardList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fadeScrollbars="true"
android:fastScrollAlwaysVisible="true"
android:fastScrollEnabled="true"
android:scrollbarSize="30dp"
android:scrollbarStyle="insideOverlay" >
</ListView>
</LinearLayout>
有什么建议吗?
答案 0 :(得分:15)
可能是
android:fastScrollAlwaysVisible="true"
这是你的应用程序的错误。尝试删除它。
答案 1 :(得分:1)
只需在布局预览中更改设备。
小屏幕(英寸<7)无法正确预览。例如,选择10.1''。
答案 2 :(得分:0)
我的任何布局中都没有任何android:fastScroll *选项,但我确实在任何Android版本上都收到此错误,但无法在任何测试设备上重现。
当我附加一个声明如下的适配器时会发生这种情况:
MyAdapter implements ListAdapter
更改为以下内容实际上解决了问题:
MyAdapter extends BaseAdapter
编辑:结果使用Xposed模块的用户在应用ListView上快速滚动!不幸的是,该模块非常愚蠢,并且不检查适配器类型。