라이브러리에는 데모 프로젝트가 포함되어 있습니다. 이제 프로젝트에서 라이브러리를 가져올 때 레이아웃 파일에 다음을 추가했습니다.
<it.sephiroth.android.library.widget.HListView
android:id="@+id/hListView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/ImageView01"
android:layout_marginTop="19dp" >
</it.sephiroth.android.library.widget.HListView>
데모에서와 거의 동일하며 그래픽 레이아웃 탭으로 이동하면 다음 오류가 발생합니다.
eclipse.buildId=v22.0.5-757759triedm
java.version=1.6.0_27
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
Framework arguments: -product com.android.ide.eclipse.adt.package.product
Command-line arguments: -os linux -ws gtk -arch x86 -product com.android.ide.eclipse.adt.package.product
Error
Tue Nov 26 13:25:53 EET 2013
it.sephiroth.android.library.widget.HListView failed to instantiate.
java.lang.IllegalStateException: Cannot find resource 'hlv_overscroll_edge'
at it.sephiroth.android.library.widget.EdgeEffect.<init>(EdgeEffect.java:144)
at it.sephiroth.android.library.widget.AbsHListView.setOverScrollMode(AbsHListView.java:697)
at android.view.View.<init>(View.java:3237)
at android.view.View.<init>(View.java:3295)
at android.view.ViewGroup.<init>(ViewGroup.java:427)
at it.sephiroth.android.library.widget.AdapterView.<init>(AdapterView.java:224)
at it.sephiroth.android.library.widget.AbsHListView.<init>(AbsHListView.java:630)
at it.sephiroth.android.library.widget.HListView.<init>(HListView.java:151)
at it.sephiroth.android.library.widget.HListView.<init>(HListView.java:147)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
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.inflate(LayoutInflater.java:489)
at android.view.LayoutInflater.inflate(LayoutInflater.java:372)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:383)
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.gle2.GraphicalEditorPart$ReloadListener.reloadLayoutSwt(GraphicalEditorPart.java:1777)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart$ReloadListener.access$0(GraphicalEditorPart.java:1715)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart$ReloadListener$1.run(GraphicalEditorPart.java:1709)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3537)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3189)
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(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
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)
다시 시작 / 청소, 경로 확인을 시도했습니다. 그러나 아무것도 작동하지 않았습니다. 무엇이 문제일까요? 또는 데모 프로젝트를 내 것과 비슷하게 만들려면 어떻게해야합니까?
최신 정보
내 레이아웃은 다음과 같습니다. http://pastebin.com/L7d5idwE
이 라이브러리에서 동일한 예외가 발생했습니다. 제 경우에는 aapt
의 --rename-manifest-package
옵션으로 매니페스트 패키지의 이름을 바 꾸었습니다 . 이로 인해 Resources # getIdentifier (String, String, String) 에서 이름이 변경된 패키지 이름이 아닌 식별자를로드하려면 원래 패키지 이름이 필요 하기 때문에 HListView
의 EdgeEffect
클래스가 필요한 리소스를 찾지 못했습니다 . 이 문제를 해결하기 위해 풀 요청 을 제출했습니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다