2

こんにちは、私はこのカスタムビューページャをJavaクラスで作成しました。そのビューページをxmlに入れてプログラムを実行すると、クラッシュします。スタックトレースから、それは間違った場所を探しているように見えますが、私はそれをどのように修正するか考えていません。カスタムビューページを拡張できません

は、ここに私の見解ページャクラス

public class MyViewPager extends ViewPager 
    { 
     private boolean swipeable; 
     public MyViewPager(Context context) { 
      super(context); 
     } 
     public MyViewPager (Context context, AttributeSet attrs) { 
      super(context, attrs); 
      this.swipeable = true; 
     } 

     @Override 
     public boolean onTouchEvent(MotionEvent event) { 

      if (this.swipeable) { 

       return super.onTouchEvent(event); 

      } 
      return false; 
     } 
     @Override 
     public boolean onInterceptTouchEvent(MotionEvent event) { 

      if (this.swipeable) { 

       return super.onInterceptTouchEvent(event); 

      } 
      return false; 
     } 
     public void setSwipeable(boolean swipeable) { 

      this.swipeable = swipeable; 

     } 

    } 

は、ここに私のxml

<android.support.design.widget.TabLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/main_TL" 
      app:tabTextColor="@color/white" 
      app:tabSelectedTextColor="@color/white" 
      app:tabMaxWidth="0dp" 
      app:tabGravity="fill" 
      app:tabMode="fixed" 
      app:tabIndicatorColor="@color/white" 
      app:tabBackground="@color/salmon_main"/> 
     <com.daprlabs.aaron.zivitApp.Main.Main.MyViewPager 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/main_VP"> 
     </com.daprlabs.aaron.zivitApp.Main.Main.MyViewPager> 

は、ここに私のスタックトレースですですされています

Process: com.daprlabs.aaron.swipedeck2, PID: 17841 
                       java.lang.RuntimeException: Unable to start activity ComponentInfo{com.daprlabs.aaron.swipedeck2/com.daprlabs.aaron.zivitApp.Main.Main}: android.view.InflateException: Binary XML file line #35: Binary XML file line #35: Error inflating class com.daprlabs.aaron.zivitApp.Main.Main.MyViewPager 
                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2434) 
                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2494) 
                        at android.app.ActivityThread.access$900(ActivityThread.java:157) 
                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1356) 
                        at android.os.Handler.dispatchMessage(Handler.java:102) 
                        at android.os.Looper.loop(Looper.java:148) 
                        at android.app.ActivityThread.main(ActivityThread.java:5525) 
                        at java.lang.reflect.Method.invoke(Native Method) 
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730) 
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620) 
                       Caused by: android.view.InflateException: Binary XML file line #35: Binary XML file line #35: Error inflating class com.daprlabs.aaron.zivitApp.Main.Main.MyViewPager 
                        at android.view.LayoutInflater.inflate(LayoutInflater.java:539) 
                        at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
                        at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
                        at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:284) 
                        at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:143) 
                        at com.daprlabs.aaron.zivitApp.Main.Main.onCreate(Main.java:49) 
                        at android.app.Activity.performCreate(Activity.java:6272) 
                        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2387) 
                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2494)  
                        at android.app.ActivityThread.access$900(ActivityThread.java:157)  
                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1356)  
                        at android.os.Handler.dispatchMessage(Handler.java:102)  
                        at android.os.Looper.loop(Looper.java:148)  
                        at android.app.ActivityThread.main(ActivityThread.java:5525)  
                        at java.lang.reflect.Method.invoke(Native Method)  
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730)  
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)  
                       Caused by: android.view.InflateException: Binary XML file line #35: Error inflating class com.daprlabs.aaron.zivitApp.Main.Main.MyViewPager 
                        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776) 
                        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
                        at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 
                        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
                        at android.view.LayoutInflater.rInflate(LayoutInflater.java:838) 
                        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
                        at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
                        at android.view.LayoutInflater.inflate(LayoutInflater.java:423)  
                        at android.view.LayoutInflater.inflate(LayoutInflater.java:374)  
                        at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:284)  
                        at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:143)  
                        at com.daprlabs.aaron.zivitApp.Main.Main.onCreate(Main.java:49)  
                        at android.app.Activity.performCreate(Activity.java:6272)  
                        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)  
                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2387)  
                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2494)  
                        at android.app.ActivityThread.access$900(ActivityThread.java:157)  
                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1356)  
                        at android.os.Handler.dispatchMessage(Handler.java:102)  
                        at android.os.Looper.loop(Looper.java:148)  
                        at android.app.ActivityThread.main(ActivityThread.java:5525)  
                        at java.lang.reflect.Method.invoke(Native Method)  
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730)  
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)  
                       Caused by: java.lang.ClassNotFoundException: Didn't find class "com.daprlabs.aaron.zivitApp.Main.Main.MyViewPager" on path: DexPathList[[zip file "/data/app/com.daprlabs.aaron.swipedeck2-1/base.apk"],nativeLibraryDirectories=[/data/app/com.daprlabs.aaron.swipedeck2-1/lib/arm64, /data/app/com.daprlabs.aaron.swipedeck2-1/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]] 
                        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 
                        at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
                        at java.lang.ClassLoader.loadClass(ClassLoader.java:469) 
                        at android.view.LayoutInflater.createView(LayoutInflater.java:583) 
                        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764) 
                        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)  
                        at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)  
                        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)  
                        at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)  
                        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)  
                        at android.view.LayoutInflater.inflate(LayoutInflater.java:515)  
                        at android.view.LayoutInflater.inflate(LayoutInflater.java:423)  
                        at android.view.LayoutInflater.inflate(LayoutInflater.java:374)  
                        at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:284)  
                        at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:143)  
                        at com.daprlabs.aaron.zivitApp.Main.Main.onCreate(Main.java:49)  
                        at android.app.Activity.performCreate(Activity.java:6272)  
                        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)  
                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2387)  
                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2494)  
                        at android.app.ActivityThread.access$900(ActivityThread.java:157)  
                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1356)  
                        at android.os.Handler.dispatchMessage(Handler.java:102)  
                        at android.os.Looper.loop(Looper.java:148)  
                        at android.app.ActivityThread.main(ActivityThread.java:5525)  
                        at java.lang.reflect.Method.invoke(Native Method)  
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730)  
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)  
                       Suppressed: java.lang.ClassNotFoundException: com.daprlabs.aaron.zivitApp.Main.Main.MyViewPager 
                        at java.lang.Class.classForName(Native Method) 
                        at java.lang.BootClassLoader.findClass(ClassLoader.java:781) 
                        at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) 
                        at java.lang.ClassLoader.loadClass(ClassLoader.java:504) 
                         ... 26 more 
                       Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available 

EDITED

マイプロジェクト構造:

私のコメントで

enter image description here

+0

あなたのプロジェクトをきれいにして再構築しようとしましたか? (それは 'Build'の下のタブバーにあります) – creativecreatorormaybenot

+0

あなたの階層は私に奇妙に見えます。com.daprlabs.aaron.zivitApp.Main.Main.MyViewPager'ビューの階層を投稿できますか? – Enzokie

+0

ビューの階層を取得するにはどうすればよいですか? – TheQ

答えて

2

私たちは、例えばビューのために別のクラスを作成する必要があると述べましたMyViewPager.javaトップクラスのクラスに依存しているため、インナークラスのビューを展開することができないためです(インフレータはそのジョブに対してスマートではなく、このようなインフレータを開発することも容易ではありません)。それを静的と宣言する。

+0

答えに感謝します。うん、それは本当に頭が痛かった。 – TheQ

関連する問題