Android slider库在包含到我的应用程序中时崩溃?

Android slider库在包含到我的应用程序中时崩溃?,android,android-activity,Android,Android Activity,我正在尝试将其包含到我的代码中 当我将此添加到布局中时: 然后,在onCreate()中: 在initSlider()方法中: 而initSlider()中的setup*方法取自 但我的应用程序在onCreate()中的setcontentview崩溃,并显示以下错误消息: E/AndroidRuntime:致命异常:主进程:com.mysliderapp,PID: 22831 java.lang.RuntimeException:无法启动活动 ComponentInfo{com.myslide

我正在尝试将其包含到我的代码中

当我将此添加到布局中时:

然后,在onCreate()中:

在initSlider()方法中:

而initSlider()中的setup*方法取自

但我的应用程序在onCreate()中的setcontentview崩溃,并显示以下错误消息:

E/AndroidRuntime:致命异常:主进程:com.mysliderapp,PID: 22831 java.lang.RuntimeException:无法启动活动 ComponentInfo{com.mysliderapp/com.mysliderapp.MainActivity}: android.view.InflateException:二进制XML文件行#46:错误 充气级滑动层 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2205) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2255) 在android.app.ActivityThread.access$800(ActivityThread.java:142) android.app.ActivityThread$H.handleMessage(ActivityThread.java:1203) 位于android.os.Handler.dispatchMessage(Handler.java:102) Looper.loop(Looper.java:136)位于 android.app.ActivityThread.main(ActivityThread.java:5118)位于 java.lang.reflect.Method.Invokenactive(本机方法)位于 java.lang.reflect.Method.invoke(Method.java:515)位于 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:610) dalvik.system.NativeStart.main(本机方法) 原因:android.view.InflateException:二进制XML文件行#46: 在上对类滑动层进行膨胀时出错 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:707) 位于android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 膨胀(LayoutInflater.java:492) 膨胀(LayoutInflater.java:397) 膨胀(LayoutInflater.java:353) com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:319) 位于android.app.Activity.setContentView(Activity.java:1973) com.mysliderapp.MainActivity.onCreate(MainActivity.java:99)位于 android.app.Activity.performCreate(Activity.java:5275)位于 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2255) 在android.app.ActivityThread.access$800(ActivityThread.java:142) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1203) 位于android.os.Handler.dispatchMessage(Handler.java:102) Looper.loop(Looper.java:136)位于 android.app.ActivityThread.main(ActivityThread.java:5118)位于 java.lang.reflect.Method.Invokenactive(本机方法)位于 java.lang.reflect.Method.invoke(Method.java:515)位于 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:610) dalvik.system.NativeStart.main(本机方法) 原因:java.lang.ClassNotFoundException:未找到类 路径:DexPathList[[zip文件]上的“android.view.SlidingLayer” “/data/app/com.mysliderapp-2.apk”],nativeLibraryDirectories=[/data/app-lib/com.mysliderapp-2, /供应商/lib,/system/lib]]at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:497) loadClass(ClassLoader.java:457)位于 createView(LayoutInflater.java:559)位于 onCreateView(LayoutInflater.java:652)位于 com.android.internal.policy.impl.PhoneLayoutFlater.onCreateView(PhoneLayoutFlater.java:66) 位于android.view.LayoutInflater.onCreateView(LayoutInflater.java:669) 在 createViewFromTag(LayoutInflater.java:694) 位于android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 膨胀(LayoutInflater.java:492) 膨胀(LayoutInflater.java:397) 膨胀(LayoutInflater.java:353) com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:319) 位于android.app.Activity.setContentView(Activity.java:1973) com.mysliderapp.MainActivity.onCreate(MainActivity.java:99)位于 android.app.Activity.performCreate(Activity.java:5275)位于 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2255) 在android.app.ActivityThread.access$800(ActivityThread.java:142) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1203) 位于android.os.Handler.dispatchMessage(Handler.java:102) Looper.loop(Looper.java:136)位于 android.app.ActivityThread.main(ActivityThread.java:5118)位于 java.lang.reflect.Method.Invokenactive(本机方法)位于 java.lang.reflect.Method.invoke(Method.java:515)位于 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:610) dalvik.system.NativeStart.main(本机方法)


将XML布局中的
SlidingLayer
更改为
com.wunderlist.SlidingLayer.SlidingLayer

当使用外部组件时,AndroidStudio通常会遇到问题,而只按名称对组件进行膨胀,所以您需要给出完整的包名

<com.wunderlist.slidinglayer.SlidingLayer
    android:id="@+id/slidingLayer1"
    android:layout_width="match_parent"
    android:layout_height="@dimen/layer_height"
    android:elevation="2dip"
    android:layout_above="@+id/linearLayout"
    android:layout_alignParentStart="true">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/primary_light">

        <WebView
            android:id="@+id/authWebView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:gravity="center"
            android:drawablePadding="15dip"
            android:paddingBottom="80dp"
            android:textSize="17sp"
            android:textColor="@color/primary_text"/>

        <Button
            android:id="@+id/buttonClose"
            style="@style/ButtonRed"
            android:onClick="buttonClicked"
            android:layout_marginBottom="60dp"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:text="@string/close_button_container"/>
    </RelativeLayout>
</com.wunderlist.slidinglayer.SlidingLayer>

当然
private SlidingLayer mSlidingLayer;
setContentView(R.layout.activity_main);
initSlider();
private void initSlider() {
    mSlidingLayer = (SlidingLayer) findViewById(R.id.slidingLayer1);
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    setupSlidingLayerPosition(prefs.getString("layer_location", "bottom"));
    setupSlidingLayerTransform(prefs.getString("layer_transform", "none"));
    setupShadow(prefs.getBoolean("layer_has_shadow", false));
    setupLayerOffset(prefs.getBoolean("layer_has_offset", false));
    setupPreviewMode(prefs.getBoolean("preview_mode_enabled", false));
}
<com.wunderlist.slidinglayer.SlidingLayer
    android:id="@+id/slidingLayer1"
    android:layout_width="match_parent"
    android:layout_height="@dimen/layer_height"
    android:elevation="2dip"
    android:layout_above="@+id/linearLayout"
    android:layout_alignParentStart="true">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/primary_light">

        <WebView
            android:id="@+id/authWebView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:gravity="center"
            android:drawablePadding="15dip"
            android:paddingBottom="80dp"
            android:textSize="17sp"
            android:textColor="@color/primary_text"/>

        <Button
            android:id="@+id/buttonClose"
            style="@style/ButtonRed"
            android:onClick="buttonClicked"
            android:layout_marginBottom="60dp"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:text="@string/close_button_container"/>
    </RelativeLayout>
</com.wunderlist.slidinglayer.SlidingLayer>
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.SlidingLayer"
<com.wunderlist.slidinglayer.SlidingLayer
    xmlns:slidingLayer="http://schemas.android.com/apk/res-auto"
    android:id="@+id/slidingLayer1"
    android:layout_width="@dimen/layer_width"
    android:layout_height="@dimen/layer_height"
    slidingLayer:shadowDrawable="@drawable/sidebar_shadow"
    slidingLayer:shadowSize="@dimen/shadow_size"
    slidingLayer:offsetDistance="@dimen/offset_distance"
    slidingLayer:previewOffsetDistance="@dimen/preview_offset_distance"
    slidingLayer:stickTo="top|bottom|right|left"
    slidingLayer:changeStateOnTap="true">

    …
    …
</com.wunderlist.slidinglayer.SlidingLayer>