0

У меня есть ActionBarActivity. В нем я создаю список, используя ListView и ArrayAdapter. В ней я пытаюсь использовать SwitchCompat:Как использовать SwitchCompat?

<android.support.v7.widget.SwitchCompat 
    android:id="@+id/sampleSwitch" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginTop="20dp" 
    android:gravity="right" 
    android:paddingRight="10dp" 
    android:textOff="OFF" 
    android:textOn="ON" 
    android:text="" 
    android:clickable="true" 
    android:checked="true" /> 

Но что-то пошло не так ...

java.lang.ClassNotFoundException: android.support.v4.util.LruCache 
at com.android.tools.idea.rendering.RenderClassLoader.findClass(RenderClassLoader.java:53) 
at org.jetbrains.android.uipreview.ProjectClassLoader.findClass(ProjectClassLoader.java:56) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
at java.lang.ClassLoader.defineClass1(Native Method) 
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:621) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:471) 
at com.android.tools.idea.rendering.RenderClassLoader.loadClassFromJar(RenderClassLoader.java:93) 
at org.jetbrains.android.uipreview.ProjectClassLoader.loadClassFromModuleOrDependency(ProjectClassLoader.java:108) 
at org.jetbrains.android.uipreview.ProjectClassLoader.load(ProjectClassLoader.java:89) 
at com.android.tools.idea.rendering.RenderClassLoader.findClass(RenderClassLoader.java:56) 
at org.jetbrains.android.uipreview.ProjectClassLoader.findClass(ProjectClassLoader.java:56) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
at android.support.v7.internal.widget.TintManager.<clinit>(TintManager.java:42) 
at android.support.v7.internal.widget.TintTypedArray.getTintManager(TintTypedArray.java:182) 
at android.support.v7.widget.SwitchCompat.<init>(SwitchCompat.java:213) 
at android.support.v7.widget.SwitchCompat.<init>(SwitchCompat.java:171) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:513) 
at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:374) 
at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:99) 
at com.android.tools.idea.rendering.LayoutlibCallback.loadView(LayoutlibCallback.java:172) 
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:400) 
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:332) 
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:332) 
at com.android.tools.idea.rendering.RenderService$3.compute(RenderService.java:575) 
at com.android.tools.idea.rendering.RenderService$3.compute(RenderService.java:564) 
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:932) 
at com.android.tools.idea.rendering.RenderService.createRenderSession(RenderService.java:564) 
at com.android.tools.idea.rendering.RenderService.render(RenderService.java:691) 
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.doRender(AndroidLayoutPreviewToolWindowManager.java:604) 
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.access$1900(AndroidLayoutPreviewToolWindowManager.java:80) 
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7$1.run(AndroidLayoutPreviewToolWindowManager.java:546) 
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:178) 
at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:209) 
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:212) 
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:171) 
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7.run(AndroidLayoutPreviewToolWindowManager.java:541) 
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320) 
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310) 
at com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.java:254) 
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269) 
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227) 
at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217) 
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238) 
at com.intellij.util.Alarm$Request$1.run(Alarm.java:327) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) 
at java.lang.Thread.run(Thread.java:695) 

Это мое приложение Тема:

<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    <item name="colorPrimary">@color/primary</item> 
    <item name="colorPrimaryDark">@color/primary_dark</item> 
    <item name="colorAccent">@color/accent</item> 

    <item name="android:textColorPrimary">@color/white</item> 
    <item name="android:windowBackground">@color/windowBackGroung</item> 

    <item name="android:navigationBarColor">@color/black</item> 
</style> 

и моя зависимость:

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
compile 'com.android.support:appcompat-v7:21.0.+' 
compile 'com.android.support:cardview-v7:21.0.+' 
compile 'com.android.support:recyclerview-v7:21.0.+'} 

У меня нет действия на SwitchCompat в моем java-коде. Пожалуйста, покажи мне мою ошибку.

+0

найти решение. Я не могу использовать verona1024

+0

Почему бы и нет в XML? – MuayThai

ответ

2

найти решение. Я не могу использовать <android.support.v7.widget.SwitchCompat в xml. Мне нужно создать его программно.

ContextThemeWrapper ctw = new ContextThemeWrapper(getApplicationContext(), R.style.AppTheme); 
SwitchCompat sc = new SwitchCompat(ctw); 
LinearLayout linearLayout = (LinearLayout) rowView.findViewById(R.id.linearLayoutLightsItem); 
linearLayout.addView(sc); 
Смежные вопросы