2012-08-25 16 views
5

Tôi đang cố gắng để sử dụng thư viện ViewPagerIndicator Jake Wharton trong dự án của tôi, và tôi đi theo các hướng dẫn đơn giản đặt ra ở đây:ViewPagerIndicator ClassNotFoundException?

http://viewpagerindicator.com/

Nhưng tôi tiếp tục nhận được một ClassNotFoundException khi tôi cố gắng và chạy dự án của tôi.

Đây là XML Tôi có trong cách bố trí của tôi:

<android.support.v4.view.ViewPager 
    android:id="@+id/day_pager" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" /> 

<com.viewpagerindicator.TitlePageIndicator 
    android:id="@+id/titles" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" /> 

và đây là mã tương ứng Tôi có (dayPage là một loại ViewPager).

ArrayList<Integer> testData = new ArrayList<Integer>(); 
    testData.add(12); 
    testData.add(13); 
    testData.add(22); 

    dayPage = (ViewPager) this.getActivity().findViewById(R.id.day_pager); 
    dayPage.setAdapter(new DayAdapter(testData)); 

    //Bind the title indicator to the adapter 
    TitlePageIndicator titleIndicator = (TitlePageIndicator)this.getActivity().findViewById(R.id.titles); 
    titleIndicator.setViewPager(dayPage); 

Giá trị trong testData là rác ngay bây giờ.

Các vết đống đầy đủ là:

08-25 22:32:23.420: E/AndroidRuntime(1710): FATAL EXCEPTION: main 
08-25 22:32:23.420: E/AndroidRuntime(1710): android.view.InflateException: Binary XML file line #12: Error inflating class com.viewpagerindicator.TitlePageIndicator 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:581) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:623) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.LayoutInflater.inflate(LayoutInflater.java:408) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at vt.finder.sherlock.ScheduleFragment.onCreateView(ScheduleFragment.java:50) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at vt.finder.sherlock.ScheduleFragment.onCreate(ScheduleFragment.java:30) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:835) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1083) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:635) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1431) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:431) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.support.v4.view.ViewPager.populate(ViewPager.java:895) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.support.v4.view.ViewPager.populate(ViewPager.java:772) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1234) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.View.measure(View.java:8313) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:250) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.View.measure(View.java:8313) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.widget.LinearLayout.measureVertical(LinearLayout.java:531) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.widget.LinearLayout.onMeasure(LinearLayout.java:309) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.View.measure(View.java:8313) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:250) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.View.measure(View.java:8313) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:250) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.View.measure(View.java:8313) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.ViewRoot.performTraversals(ViewRoot.java:839) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1859) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.os.Handler.dispatchMessage(Handler.java:99) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.os.Looper.loop(Looper.java:130) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.app.ActivityThread.main(ActivityThread.java:3683) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at java.lang.reflect.Method.invokeNative(Native Method) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at java.lang.reflect.Method.invoke(Method.java:507) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at dalvik.system.NativeStart.main(Native Method) 
08-25 22:32:23.420: E/AndroidRuntime(1710): Caused by: java.lang.ClassNotFoundException: com.viewpagerindicator.TitlePageIndicator in loader dalvik.system.PathClassLoader[/data/app/vt.finder.sherlock-1.apk] 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at java.lang.ClassLoader.loadClass(ClassLoader.java:551) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.LayoutInflater.createView(LayoutInflater.java:471) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:570) 
08-25 22:32:23.420: E/AndroidRuntime(1710):  ... 37 more 

tôi nhập khẩu các dự án ViewPagerIndicator như một thư viện để dự án của tôi, và tôi đôi kiểm tra rằng tên gói là còn nguyên vẹn, và nó đã. Tôi đã làm sạch trên dự án của tôi, nhưng tôi vẫn nhận được lớp học không tìm thấy ngoại lệ. Tui bỏ lỡ điều gì vậy?

+0

Đảm bảo rằng bạn thực sự có dự án thư viện được đính kèm với dự án ứng dụng của bạn (ví dụ: nó hiển thị trong Phụ thuộc Android trong Eclipse). – CommonsWare

+0

bạn đã nhập bình chứa giả chưa? – Ahmad

+0

Nó không hiển thị trong Android Dependencies .... odd. Bởi vì tôi có thể tham khảo TitlePageIndicator trong mã (cũng như nhập khẩu nó) và tôi nhận được không có lỗi ..... là có một số danh sách bổ sung tôi phải thêm dự án? – Ethan

Trả lời

15

Rất nhiều người thêm video này vào thư mục của lib hoặc nhập nó (đó là không đúng)

Thay vào đó bạn cần phải thêm toàn bộ dự án (nguồn và tất cả các nguồn lực) thuộc các thuộc tính/thoại android trong các thư viện (hiển thị bên dưới)

Nếu bạn không chắc chắn những gì bạn đã làm thì hãy thử xóa tất cả các tham chiếu đến thư viện để thư viện không có trong thư viện hoặc thư viện thư viện tham chiếu và không hiển thị trong đường dẫn thuộc tính/java - tab thư viện

Sau đó thêm toàn bộ dự án trở lại thông qua hộp thoại thuộc tính/android, hãy thực hiện một xây dựng sạch (đôi khi hai lần, nhờ eclipse) và nó sẽ hoạt động chính xác.

added it to Eclipse?

+0

Còn trong Android Studio ?! Nó hoạt động như thế nào? – brunoramonalmeida

1

Các bước gợi ý ở trên không làm việc cho tôi, nhưng điều này đã làm các trick:

  • nhấp chuột phải vào dự án, tài sản
  • java xây dựng con đường, nguồn tab
  • add folder, thêm rắc rối thư mục