2013-07-19 34 views
5

Tôi thêm ViewPageIndicator vào dự án hiện tại của mình. Tôi làm tất cả mọi thứ trong liên kết bên dưới.ViewPagerIndicator CirclePageIndicator không thể được khởi tạo

https://www.youtube.com/watch?v=yTaIQ0LMLy0 

Khi tôi thêm CirclePageIndicator vào bố cục, tôi nhận được lỗi này.

enter image description here

ngoại lệ stack trace:

java.lang.NullPointerException 
    at com.android.layoutlib.bridge.android.BridgeContext.obtainStyledAttributes(BridgeContext.java:568) 
    at android.view.View.<init>(View.java:3283) 
    at com.viewpagerindicator.CirclePageIndicator.<init>(CirclePageIndicator.java:76) 
    at com.viewpagerindicator.CirclePageIndicator.<init>(CirclePageIndicator.java:72) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    at com.android.ide.eclipse.adt.internal.editors.layout.ProjectCallback.instantiateClass(ProjectCallback.java:422) 
    at com.android.ide.eclipse.adt.internal.editors.layout.ProjectCallback.loadView(ProjectCallback.java:179) 
    at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:207) 
    at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:135) 
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:746) 
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:718) 
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:749) 
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:718) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:372) 
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:385) 
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:332) 
    at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:325) 
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderService.createRenderSession(RenderService.java:440) 
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1545) 
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1302) 
    at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate.recomputeLayout(LayoutEditorDelegate.java:410) 
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.SelectionManager.setSelection(SelectionManager.java:285) 
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.LayoutCanvasViewer.setSelection(LayoutCanvasViewer.java:120) 
    at org.eclipse.jface.viewers.Viewer.setSelection(Viewer.java:394) 
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.selectionChanged(GraphicalEditorPart.java:611) 
    at org.eclipse.ui.internal.e4.compatibility.SelectionService.notifyListeners(SelectionService.java:154) 
    at org.eclipse.ui.internal.e4.compatibility.SelectionService.updateSelection(SelectionService.java:119) 
    at org.eclipse.ui.internal.WorkbenchPage$E4PartListener.partActivated(WorkbenchPage.java:170) 
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$2.run(PartServiceImpl.java:193) 
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.firePartActivated(PartServiceImpl.java:191) 
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:596) 
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:549) 
    at org.eclipse.e4.ui.internal.workbench.swt.AbstractPartRenderer.activate(AbstractPartRenderer.java:105) 
    at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer$1.handleEvent(ContributedPartRenderer.java:61) 
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) 
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077) 
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1058) 
    at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:1447) 
    at org.eclipse.swt.widgets.Shell.WM_MOUSEACTIVATE(Shell.java:2328) 
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4572) 
    at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341) 
    at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1627) 
    at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2069) 
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541) 
    at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80) 
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623) 
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541) 
    at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80) 
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623) 
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541) 
    at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80) 
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623) 
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541) 
    at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80) 
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623) 
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541) 
    at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80) 
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623) 
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541) 
    at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80) 
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623) 
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541) 
    at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80) 
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623) 
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541) 
    at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80) 
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623) 
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541) 
    at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80) 
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623) 
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541) 
    at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80) 
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623) 
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541) 
    at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80) 
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623) 
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541) 
    at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80) 
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623) 
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) 
    at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2541) 
    at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1442) 
    at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5878) 
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989) 
    at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method) 
    at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:2440) 
    at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1534) 
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4623) 
    at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5977) 
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4989) 
    at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method) 
    at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:3129) 
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3753) 
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053) 
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) 
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942) 
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86) 
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588) 
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) 
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543) 
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) 
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) 
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) 
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629) 
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) 
    at org.eclipse.equinox.launcher.Main.run(Main.java:1438) 
    at org.eclipse.equinox.launcher.Main.main(Main.java:1414) 

Và đây là xml bố trí của tôi.

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="match_parent" 
    android:layout_below="@id/linearLayout1" 
    android:orientation="vertical" > 

    <android.support.v4.view.ViewPager 
     android:id="@+id/view_pager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

    <com.viewpagerindicator.CirclePageIndicator 
     android:id="@+id/indicator" 
     android:padding="10dip" 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     /> 

</LinearLayout> 

Và sau khi ở phía mã (phương thức onCreate), tôi thêm mã.

CirclePageIndicator titleIndicator = (CirclePageIndicator)findViewById(R.id.indicator); 
    titleIndicator.setViewPager(viewPager); 

Khi tôi khởi động ứng dụng, Chỉ báo không được hiển thị.Điều gì có thể là vấn đề?

+0

Bên cạnh 'CirclePagerIndicator không thể khởi tạo', bạn có thể cung cấp thêm chi tiết lỗi không? – gunar

+0

Tôi đã thêm dấu vết ngăn xếp Ngoại lệ vào câu hỏi. –

+0

Có vẻ như đã xảy ra sự cố với kiểu dáng của bạn ... có một số kiểu bạn quên thêm không? Hoặc một số thuộc tính tạo kiểu bị thiếu? – gunar

Trả lời

1

Vì bạn đặt bạn ViewPager để chụp toàn bộ màn hình. Bạn nên làm cho xml của bạn như dưới đây.

<LinearLayout 
android:layout_width="fill_parent" 
android:layout_height="match_parent" 
android:layout_below="@id/linearLayout1" 
android:orientation="vertical" > 

<android.support.v4.view.ViewPager 
    android:id="@+id/view_pager" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1" /> 

<com.viewpagerindicator.CirclePageIndicator 
    android:id="@+id/indicator" 
    android:padding="10dip" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    /> 

</LinearLayout> 
Các vấn đề liên quan