2014-11-12 27 views
16

Utworzono projekt aplikacji Android w środowisku Eclipse dla interfejsów API 15-21.android.support.v7.widget.RecyclerView nie udało się utworzyć instancji

I importowane bibliotek AppCompat v7, cardView i recyclerView ale na dodanie recyclerView w moim XML daje android.support.v7.widget.RecyclerView nie instancję.

Mam najnowszy pakiet SDK ze zaktualizowanymi bibliotekami.

java.lang.UnsupportedOperationException: Unsupported Service: accessibility 
at com.android.layoutlib.bridge.android.BridgeContext.getSystemService(BridgeContext.java:465) 
at android.support.v7.widget.RecyclerView.<init>(RecyclerView.java:290) 
at android.support.v7.widget.RecyclerView.<init>(RecyclerView.java:266) 
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:442) 
at com.android.ide.eclipse.adt.internal.editors.layout.ProjectCallback.loadView(ProjectCallback.java:194) 
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:207) 
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:132) 
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:806) 
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:782) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:385) 
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:401) 
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:329) 
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:332) 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderService.createRenderSession(RenderService.java:517) 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1584) 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1309) 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart$ReloadListener.reloadLayoutSwt(GraphicalEditorPart.java:1817) 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart$ReloadListener.access$0(GraphicalEditorPart.java:1755) 
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart$ReloadListener$1.run(GraphicalEditorPart.java:1749) 
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) 
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136) 
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4147) 
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3764) 
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151) 
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) 
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032) 
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148) 
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636) 
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) 
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579) 
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) 
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135) 
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) 
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235) 
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:648) 
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603) 
at org.eclipse.equinox.launcher.Main.run(Main.java:1465) 
+0

dziękuję za udostępnienie śledzenia stosu. – pskink

+0

Mam również ten sam problem. Jak to rozwiązałeś. Proszę pomóż mi. Z pozdrowieniami .. @Rulogarcillan –

+0

Jeszcze jedno rozwiązanie tego samego problemu dla studia Android w odpowiednim pytaniu http://stackoverflow.com/questions/26792510/java-lang-unsupportedoperationexception-unsupported-service-accessibility-andr/35969615#35969615 – DmitryBorodin

Odpowiedz

5

Czy to jest problem w oknie podglądu lub w czasie wykonywania?

RecyclerView potrzebuje menedżera LayoutManager do wyrenderowania.

w was kodu Java, należy dodać następujące:

mRecyclerView.setLayoutManager(new LinearLayoutManager(context)); 
+9

Problem jest w oknie podglądu – Rulogarcillan

+3

Komponent nie jest po prostu zaprojektowany do podglądu ... Musimy tylko poczekać na aktualizację biblioteki pomocy technicznej. Możesz ustawić widoczność recykleraView, aby zniknął w narzędziach xmlns, aby kontynuować pracę z podglądem. – pdegand59

+0

To tak, jak gdyby moja biblioteka była uszkodzona, lub nawet mój stary SDK, pobrałem najnowszą wersję, kiedy tworzę nową aplikację 4.X L preview not 5.0. Kiedyś ściągałem menedżera sdk androida Jak zmienić widoczność w konfigracji? – Rulogarcillan

0

Trzeba dodać android-support-V7 recyclerview.jar pliku. Znajduje się on w sdk \ extras \ android \ support \ v7 \ recyclerview \ libs

+0

Ta odpowiedź nie rozwiązuje problemu. Jednak tylko fyi więcej szczegółów jest tutaj: http://stackoverflow.com/questions/24440852/how-to-import-recyclerview-for-android-l-preview – Lee

+0

to nie są rozwiązania! –

15

Ten problem został ostatecznie naprawiony w Menedżerze SDK API poziomu 22 i bibliotece pomocy RecyclerView. Zacytować this comment w odpowiednim wydaniu Androida (która została zamknięta w dniu 11 marca 2015 roku), trzeba:

... Aktualizacja do najnowszej platformy SDK dla API 22 poprzez Menedżera SDK i aktualizacją ostatni widok recyklingowa poprzez aktualizację repozytorium Pomoc poprzez SDK Manager oraz w pliku build.gradle używać najnowszą wersję (22.0.0)

Ponadto w górnej części narzędzia projektanta, musisz wybrać API Android w wersji 22. Jeśli wybierzesz wcześniejszą wersję, błąd będzie nadal widoczny, mimo że masz najnowszą wersję biblioteka portowa.

Powiązane problemy