4

我在 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>

有什么建议么?

4

3 回答 3

15

这可能是

android:fastScrollAlwaysVisible="true"

那是在窃听您的应用程序。尝试删除它。

于 2012-04-12T16:58:50.913 回答
1

只需在布局预览中更改设备。

小屏幕(英寸 < 7)无法正确预览。例如选择 10.1''。

于 2013-09-05T18:45:01.987 回答
0

我的任何布局中都没有任何 android:fastScroll* 选项,但是我在任何版本的 Android 上都收到此错误,但无法在任何测试设备上重现。

原来当我附加一个这样声明的适配器时会发生这种情况:

MyAdapter implements ListAdapter

更改为以下内容实际上可以解决问题:

MyAdapter extends BaseAdapter

编辑:结果用户使用 Xposed 模块在应用程序 ListView 上进行快速滚动!不幸的是,该模块非常愚蠢并且不检查适配器类型。

于 2014-06-22T12:43:31.880 回答