4

Eclipse の Android プロジェクトで問題が発生しています。

2 つの 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 に答える
0

どのレイアウトにも android:fastScroll* オプションがありませんが、Android のどのバージョンでもこのエラーを受け取りますが、どのテスト デバイスでも再現できません。

これは、次のように宣言された Adapter をアタッチすると発生することがわかりました。

MyAdapter implements ListAdapter

以下に変更すると、実際に問題が修正されます。

MyAdapter extends BaseAdapter

編集: Xposed モジュールを使用して、アプリの ListView の高速スクロールを強化しているユーザーが判明しました! 残念ながら、そのモジュールはかなりばかげており、アダプターの種類をチェックしていません。

于 2014-06-22T12:43:31.880 に答える