找不到类'android.support.v4.widget.SwipeRefreshLayout'

Abd*_*cin 6 java android

我一直收到这个错误,这导致我的应用程序崩溃.尝试实现新的v4滑动刷新布局.我更新了支持库+ sdk.有什么问题?

找不到类'android.support.v4.widget.SwipeRefreshLayout',引用方法...... onCreate

import android.support.v4.widget.SwipeRefreshLayout;
...
private SwipeRefreshLayout swipeLayout;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.home_page_list);
swipeLayout = (SwipeRefreshLayout) findViewById(R.id.container);
    swipeLayout.setColorScheme(android.R.color.holo_blue_bright, 
            android.R.color.holo_green_light, 
            android.R.color.holo_orange_light, 
            android.R.color.holo_red_light);
    swipeLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
        @Override
        public void onRefresh() {
            swipeLayout.setRefreshing(false);
        }
    });
Run Code Online (Sandbox Code Playgroud)

XML

<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.devrim.ythaber.HomeActivity"
tools:ignore="MergeRootFrame" >

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/thumb"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:contentDescription="@string/app_name" />

        <RelativeLayout
            android:id="@+id/relativeLayout1"
            android:layout_width="wrap_content"
            android:layout_height="290dp"
            android:layout_centerVertical="true"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:orientation="vertical" >

            <!-- android:layout_toRightOf="@+id/thumb" -->

        </RelativeLayout>

        <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:ellipsize="end"
            android:fontFamily="sans-serif-light"
            android:maxLines="2"
            android:shadowColor="@color/dropshadow"
            android:shadowDx="2"
            android:shadowDy="2"
            android:shadowRadius="2"
            android:text="@string/title"
            android:textAllCaps="false"
            android:textAppearance="?android:attr/textAppearanceSmallPopupMenu"
            android:textColor="@color/titlecolour"
            android:textSize="35sp"
            android:textStyle="italic"
            android:typeface="sans" >
        </TextView>

        <TextView
            android:id="@+id/category"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/title"
            android:ellipsize="end"
            android:fontFamily="sans-serif-light"
            android:gravity="right"
            android:maxLines="1"
            android:paddingRight="5dp"
            android:paddingTop="10dp"
            android:textAppearance="?android:attr/textAppearanceSmallPopupMenu"
            android:textColor="@color/catcolour"
            android:textSize="17sp"
            android:textStyle="italic"
            android:typeface="sans" >
        </TextView>
    </LinearLayout>
</ScrollView>
</android.support.v4.widget.SwipeRefreshLayout>
Run Code Online (Sandbox Code Playgroud)

完整的logcat:

05-01 21:31:27.390: W/dalvikvm(11452): VFY: unable to find class referenced in signature (Landroid/support/v4/widget/SwipeRefreshLayout;)
05-01 21:31:27.390: E/dalvikvm(11452): Could not find class 'android.support.v4.widget.SwipeRefreshLayout', referenced from method com.devrim.ythaber.HomeActivity.onCreate
05-01 21:31:27.390: W/dalvikvm(11452): VFY: unable to resolve check-cast 619 (Landroid/support/v4/widget/SwipeRefreshLayout;) in Lcom/devrim/ythaber/HomeActivity;
05-01 21:31:27.390: W/dalvikvm(11452): Link of class 'Lcom/devrim/ythaber/HomeActivity$1;' failed
05-01 21:31:27.440: W/dalvikvm(11452): threadid=1: thread exiting with uncaught exception (group=0x4166ee18)
05-01 21:31:27.440: E/AndroidRuntime(11452): FATAL EXCEPTION: main
05-01 21:31:27.440: E/AndroidRuntime(11452): Process: com.devrim.ythaber, PID: 11452
05-01 21:31:27.440: E/AndroidRuntime(11452): java.lang.NoClassDefFoundError: android.support.v4.widget.SwipeRefreshLayout
05-01 21:31:27.440: E/AndroidRuntime(11452):    at com.devrim.ythaber.HomeActivity.onCreate(HomeActivity.java:56)
05-01 21:31:27.440: E/AndroidRuntime(11452):    at android.app.Activity.performCreate(Activity.java:5312)
05-01 21:31:27.440: E/AndroidRuntime(11452):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1111)
05-01 21:31:27.440: E/AndroidRuntime(11452):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2552)
05-01 21:31:27.440: E/AndroidRuntime(11452):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2653)
05-01 21:31:27.440: E/AndroidRuntime(11452):    at android.app.ActivityThread.access$800(ActivityThread.java:156)
05-01 21:31:27.440: E/AndroidRuntime(11452):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1355)
05-01 21:31:27.440: E/AndroidRuntime(11452):    at android.os.Handler.dispatchMessage(Handler.java:102)
05-01 21:31:27.440: E/AndroidRuntime(11452):    at android.os.Looper.loop(Looper.java:157)
05-01 21:31:27.440: E/AndroidRuntime(11452):    at android.app.ActivityThread.main(ActivityThread.java:5872)
05-01 21:31:27.440: E/AndroidRuntime(11452):    at java.lang.reflect.Method.invokeNative(Native Method)
05-01 21:31:27.440: E/AndroidRuntime(11452):    at java.lang.reflect.Method.invoke(Method.java:515)
05-01 21:31:27.440: E/AndroidRuntime(11452):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1069)
05-01 21:31:27.440: E/AndroidRuntime(11452):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:885)
Run Code Online (Sandbox Code Playgroud)

Dis*_*two 5

如果您使用的是 graddle,您可能需要检查您是否更新了配置以使用 19.1 版本的 android 支持库。请参阅以下行:

dependencies {
    compile 'com.android.support:support-v4:19.1.+'
}
Run Code Online (Sandbox Code Playgroud)


rwa*_*ner 0

验证您的 SDK 管理器中安装的 Android 支持库是否为 19.1,而不仅仅是 19。

如果是,并且您尝试将项目更新到新库,我发现这无法正常工作。创建一个空白的新 Android 应用程序项目,并将支持库从 /libs/ 复制到您现有的项目,然后重试。